Overview
A new feature is available for the Intel® MPI Library when running on a Xeon Phi™ coprocessor. You can now choose two DAPL providers to use for a single job.
Use Case
If you have one DAPL provider that is better for small messages and a different one is better for large messages, you can instruct Intel MPI to use the appropriate provider based on message size.
Details
Set I_MPI_DAPL_PROVIDER_LIST=<provider 1>,<provider 2>
This will enable using two providers. This will modify the behavior of the following DAPL related environment variables:
- I_MPI_DAPL_DIRECT_COPY_THRESHOLD (I_MPI_RDMA_EAGER_THRESHOLD, RDMA_IBA_EAGER_THRESHOLD)
- I_MPI_DAPL_TRANSLATION_CACHE (I_MPI_RDMA_TRANSLATION_CACHE)
- I_MPI_DAPL_TRANSLATION_CACHE_AVL_TREE
- I_MPI_DAPL_CONN_EVD_SIZE (I_MPI_RDMA_CONN_EVD_SIZE, I_MPI_CONN_EVD_QLEN)
- I_MPI_DAPL_RDMA_RNDV_WRITE (I_MPI_RDMA_RNDV_WRITE, I_MPI_USE_RENDEZVOUS_RDMA_WRITE)
Each of these variables will now take one or two (comma separated) values. If one value is used, it will apply to both providers. If two are used, the first will apply to the first provider and the second will apply to the second. As an example:
export I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1,ofa-v2-scif0
export I_MPI_DAPL_TRANSLATION_CACHE=enable,disable
will turn on the memory registration cache for ofa-v2-mlx4_0-1 and turn it off for ofa-v2-scif0