1
1
openmpi/ompi/mca/coll/libnbc
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
..
libdict libnbc: __FUNCTION__ -> __func__ fixes 2015-08-05 05:27:23 -07:00
coll_libnbc_component.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
coll_libnbc.h coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
Makefile.am coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iallgather.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iallgatherv.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iallreduce.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ialltoall.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ialltoallv.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ialltoallw.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ibarrier.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ibcast_inter.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ibcast.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iexscan.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_igather.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_igatherv.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ineighbor_allgather.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ineighbor_allgatherv.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ineighbor_alltoall.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ineighbor_alltoallv.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ineighbor_alltoallw.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_internal.h coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ireduce_scatter_block.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ireduce_scatter.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_ireduce.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iscan.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iscatter.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_iscatterv.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc_neighbor_helpers.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
nbc.c coll/libnbc: rewrite parts of libnbc 2015-08-10 11:53:25 -06:00
owner.txt add owner files to opa/ompi/orte mca directories 2015-02-22 15:10:23 -07:00