Personal tools
 

MP CMISS with the intel compilers

Notes on setting up CMISS for MP with the intel compilers.

Caveats: 1) tested only on Ubuntu 8.04.2. 2) based on an HPC-independent configuration, i.e. doesn't use anything mounted in /hpc. So, it's probably quite inefficient as far as storage space goes, but I'm not sure the best way to integrate the /hpc stuff.

1. Follow the directions on the CMISS wiki for "Install cm on a Laptop for Development". Do the CVS stuff. Use the script.

The script from step 1 will download most things you need from CVS, and will probably have done a CM build using the GNU compilers. Now we'll set up everything for the intel compilers, and rebuild everything.

2. Set up your environment variables. In step 1, you had to figure out how to set CVSROOT. Remember, the procedure varies depending on your shell. Use whatever you did before to set CMISS_ROOT to wherever you checked out the cm source in step 1. While you're editing environment variables, we need a few other things:

source /opt/intel/Compiler/11.0/074/bin/intel64/ifortvars_intel64.sh
source /opt/intel/Compiler/11.0/074/bin/intel64/iccvars_intel64.sh
export PATH=$PATH:/opt/intel/Compiler/11.0/074/bin/intel64


The first line sets up environment variables needed by the intel compilers; the last adds the compilers to your path.

(Side note: For me, for some reason, on bioeng147, my ~/.bashrc file isn't read properly on login. So every time I login, I have to do 'source ~/.bashrc' to get all this environment stuff set correctly.)

3. If necessary, change out your $CMISS_ROOT/cm/source directory for the modified version. Make sure you remove the old directory, rather than overwriting it!

4. Apply the files ifort.patch and ifort_makefile.patch. They should be available in the wiki. i.e.
cd $CMISS_ROOT/cm
patch -p0 < ifort.patch
patch -p0 < ifort_makefile.patch

5. Make sure we have everything we need in $CMISS_ROOT for rebuilding.
cd $CMISS_ROOT
cvs co linear_solvers
cvs co cmiss_utils
cvs co utilities

6. Rebuild bin2base64
cd $CMISS_ROOT/utilities/bin2base64
make clean; make allclean; make clobber
make OPT=true MP=true ABI=64 FC=ifort CC=icc CXX=icc

7. Rebuild perl_interpreter
cd $CMISS_ROOT/perl_interpreter
make clean; make allclean; make clobber
make OPT=true MP=true ABI=64 FC=ifort CC=icc CXX=icc

8. Rebuild the linear solvers.
cd $CMISS_ROOT/linear_solvers
make clean; make allclean; make clobber
make OPT=true MP=true ABI=64 FC=ifort CC=icc CXX=icc

9. Build cm
cd $CMISS_ROOT/cm
make clean; make allclean; make clobber
make OPT=true MP=true ABI=64 FC=ifort CC=icc CXX=icc

If all goes well, you now have $CMISS_ROOT/cm/bin/x86_64-linux/cm-mt -- give it a try! It should be 64-bit, and MP. If it doesn't work, it's possible I left out a step, so let me know.

ubuntu with .bashrc

Posted by andre at 2009-02-05 19:08
not sure if it'll help you, but on my ubuntu system it seems the default gnome terminal is not a login shell and the .bashrc is only loaded in login shells. There is a preference somewhere for the terminal profile to tell it to be a login shell and then your .bashrc will be loaded for each terminal.

further caveats

Posted by gdon030 at 2009-02-26 17:29
I've come across one thing which doesn't work under this setup, which is growing an airway tree in fe24/DEMESH.f. Works fine with the GNU compilers, but not as I've described above.