[gmx-developers] Shared-Memory Communication & POSIX Semaphores Under OS X

Erik Lindahl lindahl at stanford.edu
Mon Mar 10 06:46:49 CET 2003

Hi Alex,

>> [2] Based on Gromacs-3.1.5_pre1 with improved Altivec assembly loops  
>> (ftp.gromacs.org/pub/beta), and gcc-3.1.  PPC version of LAM-mpi was  
>> compiled with standard parameters and not optimized for large-size  
>> packages. Unfortunately, shared-memory communication does not work  
>> yet on OS X, since the system doesn't support POSIX semaphores. The  
>> TCP-IP communication is obviously significantly slower, but this will  
>> probably improve soon.
> Now, I haven't looked through any code yet, nor have I specifically  
> confirmed this with my own tests, etc, BUT as far as I know, OS X  
> *SUPPORTS* POSIX semaphores.  For quick reference, see:
> "System Overview: Sharing Large Resources With Shared Memory"
> http://developer.apple.com/techpubs/macosx/Essentials/SystemOverview/ 
> InverEnvironissues/chapter_14_section_13.html
> Can anyone give me some feedback about why the Benchmarks page has a  
> note to the opposite?

Probably fault :-) We use LAM-MPI for the message-passing interface,  
and when I ran the benchmarks, the shared-memory communication in  
LAM-MPI was not support on OS X, with the above explanation.

Now, this might have changed in later versions of OS X, or there might  
have been an issue with non-standard semaphores. In practice it doesn't  
matter since I'm working on multithreading directly in Gromacs, so we  
won't rely on LAM for this part in the future...

If you want to play around with it, try to download LAM-MPI from  
www.lam-mpi.org and see if you can compile it with shared-memory  
communication (it doesn't have anything to do with Gromacs)



More information about the gromacs.org_gmx-developers mailing list