Profiling¶
You can run profiling tools to determine what operations take time while running executables within the container. Some profiling tools must be executed on the host as they use tight integrations with the Linux kernel.
GPU¶
Use nvprof
with the option --profile-child-processes
:
$ nvprof --profile-child-processes singularity exec --nv software.sif python3 lj.py
On platforms where you need to launch HOOMD with MPI, call nvprof
after mpirun
:
$ mpirun -n 1 nvprof --profile-child-processes \
singularity exec --nv software.sif.sif python3 lj.py
Note
You may need to add the nvprof
option --openacc-profiling off
on some systems.
CPU¶
Build HOOMD from source to profile it on the CPU. The CPU profiler perf does not interoperate with Singularity containers.