Log all variables in the compss log files
Level
MINOR
Component
RUNTIME
Environment
- COMPSs version
- Java / Python / C version
- Operating System
Description
This is related to #10. When we were debugging the issue with the parameters for the MPI decorator, it was confusing to look at the compss logs. It apparently (now that it works too) outputs only a few evaluated/replaced values in the logs. And later it writes all the replaced values in another log file.
Minimal example to reproduce
https://github.com/eflows4hpc/workflow-registry/blob/9b232cf8aa9c6d285a662168eea4ae9fef73a74b/Pillar_II/esm/src/fesom2/init.py
We got binding logs like this one (some IIP info removed):
DEBUG:pycompss.runtime.binding: - Implementation signature: fesom2.esm_simulation.<locals>._esm_simulation
DEBUG:pycompss.runtime.binding: - Implementation constraints:
DEBUG:pycompss.runtime.binding: - Implementation type: MPI
DEBUG:pycompss.runtime.binding: - Implementation type arguments: /***********/models/fesom2_eflows4hpc/fesom2/bin/fesom.x {{working_dir_exe}} srun 48 [unassigned] false [unassigned] True
DEBUG:pycompss.runtime.binding:CE with signature fesom2.esm_simulation.<locals>._esm_simulation registered.
There are values like {{working_dir_exe}} which are resolved/bound at a later stage by COMPs, while others like srun and 48 (and env vars, I think) appear fine in the logs.
Exception
None.
Expected behaviour
Display the evaluated/resolved bindings, or indicate that they are to be resolved, and will appear in another log file.
As commented in #10, when you use a task parameter these values are solved at the worker. Environment variables are resolved at master, so they will appear in this logs.