This is the standalone libhcoll integration example.

This code enables two hcoll collectives (bcast and allreduce), it demonstrates
what should be done in order to integrate hcoll into MPI library,
in particular there should be implemented set of functions which will be used
by libhcoll.

This example includes two correctness tests. 
The first one checks libhcoll implementation of bcast correctness, 
the second one checks libhcoll implementation of allreduce.
Both of these tests are running on two different communicators: 
MPI_COMM_WORLD and other communicator which consists just of even ranks.



* Licensing



* What you will need to compile



This example uses MPI. It requires libhcoll libs and includes.



* How to install:



export MPI_HOME=<path to MPI>

export HCOLL_HOME=<path to libhcoll>

export LD_LIBRARY_PATH=/path/to/hcoll/install/lib:$LD_LIBRARY_PATH

make



* How to run:

$MPI_HOME/bin/mpirun -np 4 ./hcoll_sdk <num_iterations> <num_elements>

If MPI being used is OpenMPI then add additional mca parameter: "-mca coll ^hcoll"

* Understanding command line arguments
Optional parameters:

<num_iterations> - number of iterations collectives were launched
<num_elements> - number of elements in bcast's send buffer.



Good luck!
