I will be implementing a few 'One-Sided' communication methods to maximize data transfer efficiency, especially with image data buffer transfers (...approx 4 MBytes long), between multiple nodes.
Could you please confirm if the Intel MPI has 'implemented' the 'one-sided' communication, with 'passive' synchronization, by taking advantage of the "remote DMA" capability of Infiniband HCA....and if so, would it work with the new WinOF ?
Ideally, I am looking for the MVAPICH-2 type implementation, except on Windows platform.
Pls see http://www.mcs.anl.gov/~thakur/papers/onesided-iba.pdf
In the current release of the Intel MPI Library 3.2 Update 1 for Windows*, one-sided communication is not yet supported (check out the Release Notes for details). We've only recently had it added to the Linux product.
If you feel this is an important functionality, I can go ahead and submit a feature request to our development team.
The release notes states that ONLY the folowing is not supported (...not the enire one-sided comm feature) -
"Passive target one-sided communication when the target process does not call any MPI functions", which I understand.
As mater of fact, I verified it with the Intel MPI library (using the Sockets as comm channel), that passive sync works fine, if there is a seperate thread that has a MPI call (such as MPI_Recv ) pending, while the one sided comm is occuring.
I am OK with the above restriction, but my question was specific to the usage of "remote DMA" feature of the Infiniband HCA, for performing one-sided communication (with passive sync), so that the target process does not have to 'actively' participate in the one-sided comm data transfer ?
To clarify, I need the answer for Intel MPI library, for Windows, using WinOF stack.
Support for one sided operations should be at similar level for all supported fabrics. Could you submit an issue report at https://premier.intel.com? Please provide versions of used software and instructions how to reproduce an issue in the report. So we will be able to investigate it.
Actually I don't have an application issue at this time.It'sonly a question of how Intel (as an 'implemetor')chose to 'implement' the one-sided communication spec of MPI-2.
As mentioned before, the MVAPICH-2 implementation (of MPI-2), takes advantage of the remote DMA capability of the IB hardware to improve the through-putpeformance significantly, on one-sided comm.
Intel MPI Library doesn't support passive one-sided operations because we've never seen real customers who use this feature. It might be interesting for academic purposes but there is no real applications so far.