Skip to content

Resource profiler callback seemingly not working #1998

Closed
@oesteban

Description

@oesteban

Summary

We need to give some love to MultiProc and its resource profiler.

Actual behavior

I see two problems in the current implementation of the resource profiler.

  1. The resource calculation only happens to interfaces derived from CommandLine (https://github.com/nipy/nipype/blob/master/nipype/interfaces/base.py#L1543-L1544).

  2. Even for those, when I get to the runtime log I set for the callback, I always see the post-callback entries like:

callback:DEBUG {"name": "GenerateReport", "id": "GenerateReport.a0", "estimated_memory_gb": 1, "num_threads": 1, "finish": "2017-05-05 17:23:41.020064", "runtime_threads": "Unknown", "runtime_memory_gb": "Unknown"}

So both runtime_threads and runtime_memory_gb are "Unknown". This could be a consequence of the containerized execution.

Expected behavior

These should be measurements, at least for CommandLine-derived interfaces.

How to replicate the behavior

docker run -i -v /data/bids-dir:/data:ro -v $SCRATCH:/scratch -w /scratch poldracklab/mriqc:latest /data/ out/ participant --testing --verbose-reports --profile --n_procs 8 --ants-nthreads 4 --ica

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions