Last updated July 31, 2011 11:27, by Martin Rotter
Feedicon  

McPhase Wiki

The main project website is: http://mcphase.de.

From this project page, you can download the source code, the program distributions for Linux and Windows, and various user contributed files: http://kenai.com/projects/mcphase/downloads.


Download Procedure

  1. Join Kenai (sign up)
  2. Login
  3. Access McPhase Project Main Page http://kenai.com/projects/mcphase/
  4. Become a McPhase Project Observer (click on bookmark this project http://kenai.com/projects/mcphase/watch)
  5. Goto the Downloads Page (click on Download http://kenai.com/projects/mcphase/downloads).
  6. Download A Distribution according to your Operating System

Mac Users

Unfortunately, neither of the main developers have access to a Mac, so we can't compile McPhase for Macs. The source code is available, however, and we would appreciate any enterprising Mac user who is willing to compile the sources for Macs and run some test cases, so we could distribute the resulting package.

Bugs

If you find any bugs in the program, please notify us, using the Bugzilla page http://kenai.com/bugzilla/buglist.cgi?product=mcphase.

Source Code

To download the newest source code, please get Git http://git-scm.com/ and do:

 git clone git://kenai.com/mcphase~mcphase2

This will create a local repository on your hard disk with the source. There is a Makefile in the root directory, which should compile McPhase and the two included modules, cf1ion and ic1ion. If you don't use gcc and gfortran as your compilers, you should edit the file: bin/src/Makefile.common (changing CC=gcc and CCC=g++ to your C and C++ compilers) and bin/ic1ion_module/libs/make.inc (changing FORTRAN=gfortran to your Fortran compiler).

Optimisations

The executable files included in the downloadable McPhase installation has been compiled without optimisation, and especially using only CPU instructions supported by the most common Intel-based chips. This means that if you have a new(ish) computer, the program will be running slower than it needs to.

So, to get faster computations, you should try to recompile the program for your specific computer. The Makefile checks if a "fast" environment variable is defined, and if so passes the option -O2 -march=native to the gcc compiler. The first options -O2 tells the compiler to optimise the code for execution speed. This may cause numerical errors in the generated code, however, we have not found the differences in calculations using -O2 and without using it to differ by more than round-off.

The second option -march=native tells the compiler to use all the supported CPU instructions for your computer. In particular this enables the use of single instructions multiple data (SIMD) such as SSE commonly used for 3D graphics acceleration. This is a sort of data-parallel processing and speeds up the running of the code by a large amount. Note that -march=native only works for gcc versions newer than 4.2.

To enable these optimisations, define a "fast" variable when invoking make:

 fast=1 make

If you have gcc older than 4.2 (you should upgrade!), you need to edit the bin/src/Makefile.common file manually, to change -march=native to that applicable to your processor. For a list, see http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html.

If you use other compilers, you need to edit the Makefiles to substitute your compiler. A C++ compiler is needed for most of the code, although the reference BLAS/LAPACK implementation included will need a Fortran 77 compiler, unless you link to an optimise BLAS library.

Information on using an optimized BLAS library (for the ic1ion module)

And if you're using 64-bit Windows.

Information on compiler with threads Threads

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close