On Wed, Jun 9, 2010 at 7:58 AM, Jeff Squyres <email@example.com>
On Jun 8, 2010, at 12:33 PM, David Turner wrote:Up to MPI_THREAD_SERIALIZED.
> Please verify: if using openib BTL, the only threading model is MPI_THREAD_SINGLE?
IBM has been making some good strides in this direction recently, but I don't know what their specific timeframe is.
> Is there a timeline for full support of MPI_THREAD_MULTIPLE in Open MPI's openib BTL?
Yes, we (mainly Chris Yeoh) have been making improvements with MPI_THREAD_MULTIPLE support for the openib BTL.
Here is how things currently stand:
- the trunk and 1.5rc1 have threading modifications that improve the use of MPI_THREAD_MULTIPLE with the openib BTL
- It is currently functional, but with some restrictions and is still a work in progress. Consequently, the default behavior for the openib BTL is still to not support MPI_THREAD_MULTIPLE. However, this can be overridden with a command line parameter.
In order to use MPI_THREAD_MULTIPLE with the openib BTL:
- set the MCA parameter "btl_base_thread_multiple_override" to 1
- set the MCA parameter "mca mpi_leave_pinned" to 0
The latter is needed because there are still some known issues with threading and the memory registration cache.
As for timelines, we are already moving some of these fixes into the 1.4.x branch as well. However, certain changes such as a thread-safe memory registration cache are targeted for the 1.5/1.6 series. Our goal is to have a stable implementation of the openib BTL that fully supports MPI_THREAD_MULTIPLE by the time that the 1.5 feature branch transitions to the 1.6 super-stable branch.
If you have threaded applications that you can run today over the openib BTL, please give it a try and let us know of any problems that you encounter.