Open MPI uses plug-in modules for its implementations of the MPI collective algorithms. From that perspective, once you understand that infrastructure, it's exactly the same regardless of whether the MPI job is using intra-node or inter-node collectives.
We don't have much in the way of detailed internal function call tracing inside Open MPI itself, due to performance considerations. You might want to look into flamegraphs, or something similar...? -- Jeff Squyres jsquy...@cisco.com ________________________________ From: users <users-boun...@lists.open-mpi.org> on behalf of arun c via users <users@lists.open-mpi.org> Sent: Saturday, November 12, 2022 9:46 AM To: users@lists.open-mpi.org <users@lists.open-mpi.org> Cc: arun c <arun.edar...@gmail.com> Subject: [OMPI users] Tracing of openmpi internal functions Hi All, I am new to openmpi and trying to learn the internals (source code level) of data transfer during collective operations. At first, I will limit it to intra-node (between cpu cores, and sockets) to minimize the scope of learning. What are the best options (Looking for only free and open methods) for tracing the openmpi code? (say I want to execute alltoall collective and trace all the function calls and event callbacks that happened inside the libmpi.so on all the cores) Linux kernel has something called ftrace, it gives a neat call graph of all the internal functions inside the kernel with time, is something similar available? --Arun