It's nice to see that this mail list has a lot of activity ! Thanks for the tips, I haven't used modules in quite a few years, having been spoiled by Java ;-)
Takes me back to the good old days, spending 10x more time configuring than coding ! Chuck On Jan 3, 2013, at 1:05 PM, Ralph Castain <r...@open-mpi.org> wrote: > FWIW: I test it regularly on Mountain Lion, without problem. We know that > some of the bindings aren't quite right, particularly on some of the > collectives, but send/recv is fine > > > On Jan 3, 2013, at 10:09 AM, "Beatty, Daniel D CIV NAVAIR, 474300D" > <daniel.bea...@navy.mil> wrote: > >> Greetings Chuck, >> I tend to agree with Doug. It hope to be able to test soon OpenMPI under >> Lion/Mountain Lion. If someone has already done so, especially with Java, >> that could be quite handy. >> >> V/R, >> >> Daniel Beatty, Ph.D. >> Computer Scientist, Detonation Sciences Branch >> Code 474300D >> 1 Administration Circle M/S 1109 >> China Lake, CA 93555 >> daniel.bea...@navy.mil >> (LandLine) (760)939-7097 >> (iPhone) (806)438-6620 >> >> >> >> >> On 1/3/13 9:49 AM, "Ralph Castain" <r...@open-mpi.org> wrote: >> >> Hi Doug >> >> What modules software do you use on the Mac? Would be nice to know :-) >> >> >> On Jan 3, 2013, at 8:34 AM, Doug Reeder <d...@centurylink.net> wrote: >> >> Chuck, >> >> In step 4 you might want to consider the following >> >> --prefix=/usr/local/openmpi-1.7rc5 >> >> and use the modules software to select which version of openmpi to use. I >> have to have multiple versions of openmpi available on my macs and this >> approach has worked well for me. >> >> Doug Reeder >> On Jan 3, 2013, at 9:22 AM, Chuck Mosher wrote: >> >> Hi, >> >> I've been trying to get a working version of the MPI java bindings on Mac >> OSX (10.6.8 with Java 1.6.0_37). >> >> I ran into a number of issues along the way that I thought I would record >> here for others who might be foolish enough to try the same ;-) >> >> The issues I had to spend time with were: >> >> 1. Installing a C compiler that can run from the command line >> 2. Finding and installing an appropriate Java JDK for my OS version >> 3. Building and installing OpenMPI for the first time on a Mac >> 4. Conflicts with the existing OpenMPI version 1.2.8 that was installed >> already on my Mac >> 5. Figuring out syntax for using the mpirun command line to run java >> 6. Odd behavior when trying to use "localhost" or the output from `hostname` >> on the command line or in a hostfile >> >> Resolution for each of these in order: >> >> 1. Installing a C compiler for the command line >> Found a good resource here: >> http://www.macobserver.com/tmo/article/install_the_command_line_c_compilers_in_os_x_lion >> >> <http://www.macobserver.com/tmo/article/install_the_command_line_c_compilers_in_os_x_lion> >> >> The solution is to install XCode, then enable command line compilers from >> the XCode console. >> >> 2. Finding and installing an appropriate Java JDK for my OS version >> Used this resource to eventually figure out what to do: >> http://www.wikihow.com/Install-the-JDK-(Java-Development-Kit)-on-Mac-OS-X >> <http://www.wikihow.com/Install-the-JDK-(Java-Development-Kit)-on-Mac-OS-X> >> It didn't exactly match my setup, but had enough clues. >> The solution is to first find your java version (java -version, 1.6.0_37 in >> my case) and then match that version number to the Apple Java update version >> (11 in my case). >> The key document is: >> http://developer.apple.com/library/mac/#technotes/tn2002/tn2110.html >> Which is a table relating java version numbers to the appropriate "Java for >> Mac OS X xx.x Update xx". >> Once you know the update number, you can download the JDK installer from >> https://developer.apple.com/downloads/index.action >> where you of course have to have an Apple developer ID to access. >> Enter "java" in the search bar on the left and find the matching java >> update, and you're good to go. >> >> 3. Building and installing OpenMPI for the first time on a Mac >> After the usual false starts with a new installation on a new OS, I managed >> to get a working build of openmpi-1.7rc5 with Java bindings. >> I could only find the java bindings in the 1.7 pre-release. >> I used the defaults as much as possible. >> >> After downloading from: >> http://www.open-mpi.org/software/ompi/v1.7/ >> and unarchiving to Downloads, open a Terminal window. >> >> cd Downloads/openmpi-1.7rc5 >> ./configure --enable-java --prefix=/usr/local >> make all >> sudo make install >> >> Verify that you can run the commands and examples: >> >> chuck-> /usr/local/bin/mpirun -version >> mpirun (Open MPI) 1.7rc5 >> >> chuck-> cd examples >> chuck-> make >> chuck-> /usr/local/bin/mpirun -np 2 hello_c >> Hello, world, I am 0 of 2, (Open MPI v1.7rc5, package: Open MPI >> chuck@chucks-iMac.local Distribution, ident: 1.7rc5, Oct 30, 2012, 111) >> Hello, world, I am 1 of 2, (Open MPI v1.7rc5, package: Open MPI >> chuck@chucks-iMac.local Distribution, ident: 1.7rc5, Oct 30, 2012, 111) >> >> 4. Conflicts with the existing OpenMPI version 1.2.8 that was installed >> already on my Mac >> OpenMPI Version 1.2.8 was already installed for my OS in /usr/bin >> So, if you accidentally type: >> >> chuck-> mpirun -np 2 hello_c >> -------------------------------------------------------------------------- >> A requested component was not found, or was unable to be opened >> ... >> >> you picked up the wrong "mpirun" and you will get a bunch of error output >> complaining about sockets or mis-matched shared library versions. >> >> I dealt with this moving the existing OpenMPI related commands to a >> subdirectory, and then created symbolic links from /usr/local/bin to >> /usr/bin for the commands I needed. >> >> 5. Figuring out syntax for using the mpirun command line to run java >> First be sure you can run Java >> >> chuck-> /usr/bin/java -version >> java version "1.6.0_37" >> Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-10M3909) >> Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode) >> >> Then be sure you can run your java class from the command line as well. To >> figure this out I created a couple of simple java files in a temp directory: >> >> chuck-> cd ~/tmp >> chuck-> mkdir classes >> chuck -> cat HelloWorld.java >> >> public class HelloWorld { >> public static void main(String[] args) { >> System.out.println("Hello World, from Java !"); >> } >> } >> >> chuck-> javac -d classes HelloWorld.java >> chuck-> java -cp ./classes HelloWorld >> >> Hello World, from Java ! >> >> No sense going further until you can get the code above to run. >> If you have that working, then you can try the MPI version of HelloWorld: >> >> chuck-> cat HelloWorldMPI.java >> >> import mpi.*; >> class HelloWorldMPI { >> public static void main(String[] args) throws MPIException { >> MPI.Init(args); >> System.out.println("Hello world from rank " + >> MPI.COMM_WORLD.Rank() + " of " + >> MPI.COMM_WORLD.Size() ); >> MPI.Finalize(); >> } >> } >> >> chuck-> /usr/local/bin/mpijavac -d classes HelloWorldMPI.java >> /usr/local/bin/mpirun -np 2 /usr/bin/java -cp ./classes HelloWorldMPI >> >> Hello world from rank 0 of 2 >> Hello world from rank 1 of 2 >> >> And you're ready to go ! >> Except for one last thing ... >> >> 6. Odd behavior when trying to use "localhost" or the output from `hostname` >> on the command line or in a hostfile >> You will note in the examples above no host names, hostifle, or appfile was >> used. >> I found that trying to use "-host localhost" or "-hostfile hostfile" which >> contained "localhost" would not work: >> >> mpirun -host localhost -np 2 ... >> >> in the examples above would not work, returning: >> >> chuck$ /usr/local/bin/mpirun -host localhost -np 2 /usr/bin/java -cp >> ./classes HelloWorldMPI >> -------------------------------------------------------------------------- >> All nodes which are allocated for this job are already filled. >> -------------------------------------------------------------------------- >> >> I posted this in a previous e-mail to this list, and it looks like a bug. >> You can get around it by using the output from `hostname -s` which provides >> a trimmed name: >> >> chuck-> /usr/local/bin/mpirun -host `hostname -s` -np 2 /usr/bin/java -cp >> ./classes HelloWorldMPI >> Hello world from rank 0 of 2 >> Hello world from rank 1 of 2 >> >> You will also need to use this name in any hostfiles or appfiles as well >> until the bug is fixed. >> >> Thanks to all for this great product ! >> >> Chuck Mosher for JavaSeis.org <http://javaseis.org/> >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users