0

I have a place in my openmpi (compiled for infiniband usage) code where there is no progress output and strace on one of the processes shows this:

poll([{fd=5, events=POLLIN}, {fd=14, events=POLLIN}, {fd=23, events=POLLIN}], 3, 0) = 0 (Timeout)

over and over again. As per this question I ran ls -l /proc/<pid>/fd and I see a couple of sockets and /dev/infiniband/ links. Is this system call indicative of interprocess communication over infiniband? How can I verify this or further debug what is happening in the code at this time?

4

1 回答 1

0

The fact that poll returns with a timeout only means that the process is waiting for some communication event to occur. This openmpi faq page lists some ways to debug.

于 2015-08-21T10:33:13.473 回答