Every mammal on this planet instinctively develops a natural equilibrium with the surrounding environment; but you humans do not.
Main /
InstallingOldThe program uses autoconf so you can use the usual svn co svn://svn.physics.uq.edu.au/ianmcc/mptoolkit/trunk mkdir build cd build export CXXFLAGS="-DNDEBUG -O2" ../trunk/configure make make install This is a very minimal set of compiler flags, for better results add some more optimization flags depending on your hardware setup (for further optimization guides see MKLOptimization). The toolkit compiles with gcc, icc and (as of 2012-05-11) clang. To install the executables in ~/bin, run The above commands don't make any models. If you want all possible models, use If this doesn't work, you may need to set up the C++ and fortran compilers via the environment variables CXX, CFLAGS, CXXFLAGS, F77, F77FLAGS. Also, check that you have the dependencies installed. For the configure step to work properly, you should generally set CFLAGS to be the same as your CXXFLAGS. However CFLAGS isn't used then compiling the toolkit itself. Sometimes, svn doesn't give the correct executable permissions on some files. If you get an error that "depend.sh" or "mkinstalldirs" are not executable, then make sure they have the 'execute' flag set, eg with chmod +x depend.sh chmod +x mkinstalldirs Required libraries:
Environment variablesSome tools make use of environment variables:
TroubleshootingThe new fortran compiler in gcc-4 seems to not work very well with the fortran configure macros. It might be necessary to manually specify libg2c in the linker flags (libg2c doesn't exist in the g95 package, but its replacement, libgfortran, seems to be missing some symbols). For me, Compiling with gcc-4 and -pedantic gives lots of warnings of the form "warning: dereferencing type-punned pointer will break strict-aliasing rules". These occur only in some fortran (BLAS/LAPACK) prototypes, and are harmless. Using up-to-date compiler version on the lxtccl2 clusterCurrently (12.07.2008) For the export PATH=/usr/local/opt/gcc-4.2.3/bin:$PATH To make the programs actually run, you also need to adjust export LD_LIBRARY_PATH=$HOME/lib:/usr/local/opt/acml4.1.0/gfortran64_mp/lib:\ /usr/local/opt/gcc-4.2.3/lib64:/usr/local/opt/gcc-4.2.3/lib With that export CXXFLAGS="-DNDEBUG -O3 -march=k8" buildir@node19> path-to-configure --with-blas="-L/usr/local/opt/acml4.1.0/gfortran64_mp/lib \ -lacml_mp -lacml_mv" --with-boost=\$HOME/include/boost-1_35 --with-boost-program-otions="-L\$HOME/lib \ -lboost_program_options-gcc42-mt" After that just Example install for the lxtccl2 clusterThis cluster already has most software that we need, the only thing we need to do is install boost. Grab boost-1.33.1 from http://boost.org/. Unzip, configure and install: @master:~> tar xfz boost_1_33_1.tar.gz @master:~> cd boost_1_33_1 @master:~/boost_1_33_1> ./configure --prefix=\$HOME --with-libraries=program_options @master:~/boost_1_33_1> make @master:~/boost_1_33_1> make install This will install the boost program_options library into @master:~> cd @master:~> ln -s boost_1_33_1/boost boost
The lxtccl2 cluster now has subversion installed on it. So Download it as usual, by a Before we run @master:~> export CXXFLAGS="-DNDEBUG -O3 -march=k8" Without the Several BLAS and LAPACK libraries are installed on this machine, so we need to specify which one we want to use. The AMD acml library seems to work OK. To use it we can use the @master:~/mptoolkit> ./configure --with-blas="-L/usr/local/opt/acml3.1.0/gnu64/lib -lacml -lacml_mv" @master:~/mptoolkit> make @master:~/mptoolkit> make install Note: if you are using pedantic options to gcc, you might encounter a minor bug in boost: boost/mpl/print.hpp:62: error: comma at end of enumerator list This is fixed by simply removing the comma, the actual line where the comma appears is line 60. The default At the end of this process, all of the programs should be installed in mp-dmrg: error while loading shared libraries: libacml_mv.so: cannot open shared object file: No such file or directory The reason for this is that we told the compiler where to find the BLAS library, but we need to tell the runtime loader as well. This problem does not occur if the libraries are installed in a standard location. But to get around this, @master:~/mptoolkit> export LD_LIBRARY_PATH="/usr/local/opt/acml3.1.0/gnu64/lib:\$HOME/lib" We also added Example install on the Solaris cluster cluster-sol10.rz.rwth-aachen.deOn this machine, we try using the Solaris C++ compiler. The GMP library is installed in /opt/csw. We need to set the export CXX=CC export CC=cc export F77=f77 export CXXFLAGS="-fast -DNDEBUG" export CFLAGS="-fast -DNDEBUG" ./configure --with-gmp="/opt/csw" --with-blas="-lsunperf" --with-boost="$HOME/boost_1_33_1" \ --with-boost-program-options="-L$HOME/lib -lboost_program_options-gcc" Unfortunately, this still fails because the Sun compiler fails to compile some boost headers. Using gcc, the final working configure line was configure --with-gmp="/opt/csw" --with-blas="-L/opt/Studio11/SUNWspro/lib/v8plus \ -lsunperf" --with-boost="$HOME/boost_1_33_1" \ --with-boost-program-options="-L$HOME/lib -lboost_program_options-gcc" Remember to use Example install on the Linux cluster cluster-linux.rz.rwth-aachen.deThis should be straightforward, once Boost and BLAS libraries are configured properly. I'm not sure what the default BLAS library is, but I don't trust it. Try Intel's MKL and the toolkitIt is quite straightforward to compile the toolkit against the Math Kernel Library provided by Intel (see MKLOptimization). If you want to do so, it might be worthwhile to take a look at the linking advisor found here Explicit walkthroughs for several systemsAll these instructions assume you are capable of adjusting your runtime environment for your production jobs according to the installation environment, especially when dealing with different machine architectures. These examples use |