We have to have our own version of a file called Bmake.inc in the ~/soft/BLACS directory. Ln -sf ~/soft/lapack-3.2.2/blas_LINUX.a libblas.a #if anyĭownload and untar BLACS from BLACS papers page: Ln -sf ~/soft/lapack-3.2.2/lapack_LINUX.a liblapack.a Lapack includes a basic (non optimized) version of BLASĬreate a symlink to the newly created library (there is no make install): mc2) our experience has been that the ATLAS package contains bugs (see above). Modify the following lines if you want to use the intel compiler If you installed ATLAS (above) then you have to:įirst modify make.inc to allow linking with the (just compiled) ATLAS, for example.īLASLIB = $(HOME)/usr/lib/libf77blas.a $(HOME)/usr/lib/libatlas.a
You can then get Lapack ( ) from the home page, download the file and untar it: on mc2), we must not use ATLAS but need to use the internal BLAS package contained in Lapack (see below). This causes codes to crash during run time. Note that on the current version of ATLAS contains bugs when compiled on 64-bit machines using Intel compilers. To have them in the location defined by prefix. You can copy/link the newly generated files libf77blas.a libatlas.a to your desired location (for example ~/usr/lib) or just configure -incdir=$HOME/usr/include -libdir=$HOME/usr`uname -m`/lib -b 64 -C if ifort -F if -O -C ic icc -F ic -O configure -incdir=$HOME/usr/include -libdir=$HOME/usr`uname -m`/lib The library must be built in a different directory than the sources. (If you are not root in the system you can force compilation anyway -who knows what the performance will be, it can be very bad- by adding the configure option -Si cputhrchk 0) Sudo /usr/bin/cpufreq-selector -g performance To get BLAS (ATLAS implementation) ( or ):Īpparently the library doesn't do the correct tunning if the CPU clocking is enabled (usually in laptop and desktops), this line may disable the throttling
Skip this section if you want to install the non-optimized version of BLAS that comes with Lapack.
Manual installation of tunned BLAS (ATLAS) Note: Atlas does not compile with Fortran 77 compilers (use Fortran 95 compilers). For example, they are installed system-wide already. *Most systems have Blas and Lapack installed already, so you may want to skip this section. Most clusters will have their own super optimised implementation over special communication methods (ethernet, infiniband, etc). This instalation of MPI is not optimal in a arbitrary cluster. configure -prefix=$HOME/usr -exec-prefix=$HOME/usr`uname -m` -enable-cxx -enable-shared (The option -enable-sharedlibs does not work in the Cygwin enviroment) (The library can be uninstalled with the command $EPREFIX/sbin/mpeuninstall.) (20 minutes) If you are going to use this just installed version of MPI, make sure to specify $(HOME)/usr/bin/mpicxx as your C++ compiler in the *.mk file. configure -prefix=$HOME/usr -exec-prefix=$HOME/usr`uname -m` -enable-f90 -enable-sharedlibs=gcc Otherwise see this other tutorial ' Install GCC'. Most likely C++ is installed in your system, if not try to follow this. They actually belong to different versions of gcc.) (A common mistake is to mix g77 and gfortran. In any case run the compiler with the -v option to make sure the same version of gcc is used across all the steps. The issue is worst when calling the MPI compiler wrappers. For example in RedHat, f77 calls gcc-3 while f90 or gfortran calls gcc-4. In systems where gcc-4 and gcc-3 coexist this can be challenging since different forms of invoking a compiler can switch from one compiler set to the other. This document does not cover the usage of Qbox but just the compilation, a manual of Qbox is provided in the Qbox home page.įirst step is to choose a compiler and stick to it for compiling the different libraries and the final Qbox executable. This will make easier to establish absolute compilation paths for BLACS and Scalapack which have a non-standard installation procedure.
I also use to download software packages to ~/soft. To achieve this I use to create a directory called ~/usr where libraries and header files will stay: These libraries will have to be installed in your user space directory. The difficult part of the installation is to correctly build the dependence libraries.