1
1
openmpi/ompi/mca/coll
Nathan Hjelm d42e0968b1 coll/libnbc: rewrite parts of libnbc
This commit rewrites parts of libnbc to fix issues identified by
coverity and myself. The changes are as follows:

 - libnbc function would return invalid error codes (internal to
   libnbc) to the mpi layer. These codes names are of the form
   NBC_. They do not match up with the error codes expected by the mpi
   layer. I purged the use of all these error codes with the exception
   of NBC_OK and NBC_CONTINUE in progress. These codes are used to
   identify when a request handle is complete.

 - Handles and schedules were leaked by all collective routines on
   error. A new routine was added to return a collective handle
   (NBC_Return_handle).

 - Temporary buffers containting in/out neighbors for neighborhood
   collectives were always leaked.

 - Neigborhood collectives contained code to handle MPI_IN_PLACE which
   is never a valid input for the send or receive buffer. Stipped this
   code out.

 - Files were inconsistently named. Most are nbc_isomething.c but one
   was named coll_libnbc_ireduce_scatter_block.c.

 - Made the NBC_Schedule "structure" and object so it can be
   retained/released. This may enable the use of schedule caching at a
   later time. More testing will be needed to ensure the caching code
   works. If it doesn't the code should be stripped out completely.

 - Added code to simply common case of scheduling send/recv +
   barrier.

 - Code cleanup for readability.

The code now passes the clang static analyzer.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-10 11:53:25 -06:00
..
base Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
basic Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
cuda more c99 updates 2015-06-25 10:14:13 -06:00
demo Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
fca Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
hcoll Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
inter Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
libnbc coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
ml more c99 updates 2015-06-25 10:14:13 -06:00
portals4 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
self Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
sm Merge pull request #657 from hjelmn/c99 2015-06-25 11:21:09 -06:00
tuned Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
coll.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Makefile.am Purge whitespace from the repo 2015-06-23 20:59:57 -07:00