Handling dlopen Events in Parallel
TotalView’s default behavior is to handle dlopened libraries serially, creating multiple, single-cast client-server communications. This can degrade performance, depending on the number of libraries a process dlopens, and the number of processes in the job.
A state variable and a command line option support handling events in parallel:
TV::dlopen_read_libraries_in_parallel and
-dlopen_read_libraries_in_parallel, discussed in the
Classic TotalView Reference GuideTo handle dlopened libraries in parallel using MRNet, enter the following in your tvdrc file so that all future invocations of TotalView will have this set:
dset TV::dlopen_read_libraries_in_parallel true
Or for a single invocation of TotalView, simply launch TotalView using the command parameter:
totalview -dlopen_read_libraries_in_parallel
NOTE: Enabling this option does not guarantee that dlopen performance will improve on all systems in all scenarios. Be sure to test the impact of this setting on your system and debugging environments.
Remember that MRNet must also be enabled for this to work.