Software
-
Which software are available on UPPMAX?
- To see which software that are generally available on UPPMAX systems, please see Available software
-
Can I install my own software?
-
Yes, you can install you own software in your home directory.
This guide might not work on all programs. Read the installation instructions for your program!
- Download the program, with wget or by other means.
-
Unpack it with tar, gunzip or similar.
tar xvfz program.tgz
-
Read the installation instructions!
- Load a compiler. Often you'll have less problems with gcc but intel gives faster code.
module load gcc
-
If applicable, do:
mkdir $HOME/glob/program_name ./configure –prefix=$HOME/glob/program_name make make test make install
- Try to find a test on the home page of the program or in the installation instructions and try to run it.
-
How can I use BLAS/LAPACK routines?
-
For the PGI compiler, both LAPACK and BLAS are inlcuded in the AMD Core Math Library (ACML) that comes with the PGI-compiler.
To use the compiler you must do module load pgi.For Fortran programs it is enough to link with "-lacml" to get access to the routines
pgf90 -o test.x test.f90 -lacml
For C programs you should also include the acml include file which requires that you give the appropriate -I flag to the compiler. Use "which pgcc" to find out the proper path to the compiler/libraries and documentation.
For the Intel compiler, you can also use the Intel MKL (Math Kernel Library). The user documentation to this can most easily be found by loading the intel module:
module load intel
then issue "which ifort", which gives you the path to the compiler, for instance for the compiler /bubo/sw/comp/intel/Compiler/compilerpro-12.0.2.137/bin/intel64/ifort, the documentation can be found in /bubo/sw/comp/intel/Compiler/compilerpro-12.0.2.137/Documentation/en_US/mkl/mkl_documentation.htm.
The version of the mkl to link to depends on whether you want the sequential version, or the threaded version. For MPI programs you should typically use the sequential version if the program performs multiple calls to the blas/lapack routines. You must also know what size of integers your program uses. If you do not give special compiler options, your program will normally use 32 bit integers, 64 bit longs, and 64 bit pointers. This is termed lp64, and you should for a sequential version of mkl link your program with:
ifort -o test.x test.f90 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
and for a threaded mkl link with
ifort -o test.x test.f90 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-
How can I compile MPI programs on Kalkyl?
-
The module system and wrappers to the compilers make it relatively easy:
First load the module of the compiler you wish to use, most probably the intel or the pgi compilers, with the intel or pgi module:module load intel/12.0
module load pgi/2011
On Kalkyl the default MPI implementation is OpenMPI. To use this you must load the openmpi module:
module load openmpi/1.5.0
To compile mpi code when the modules are loaded, a number of wrapper scripts are available. So to compile C code use the mpicc command for parallel code instead of pgcc (or icc) for serial code. For C++ use the mpiCC command. For fortran77 the mpif77 command is used and for fortran90/95 the mpif90 command. The wrappers know all about where include files and libraries are located, so one should not need to either copy include files or give any extra arguments about which MPI libraries to link to.mpicc ... mpif77 ... mpiCC ... mpif90 ...
For more information see the MPI and OpenMP tutorial. -
How can I use ScaLAPACK/BLACS?
-
Scalapack/BLACS can be linked to your program. Which version to use depends on the compiler you intend to use.
For the PGI compiler you need to load the following modules:
module load pgi openmpi scalapack/1.8.0-openmpi-1.4.2-pgi-acml
Then compile and link your program like this (with appropriate optimization options added, of course!):
mpif90 -o prog.x prog.f90 $(SCALAPACKLIBS) -lacml
For the Intel compiler you need the following modules:
module load intel openmpi scalapack/1.8.0-openmpi-1.4.2-intel-mkl
Compile and link your program like this (with appropriate optimization options added, of course!):
mpif90 -o prog.x prog.f90 $(SCALAPACKLIBS) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
-
Conflicting modules
- Tips on solving conflicting modules
-
Sometimes you may experience conflicting modules. An example would be that your program finds an incorrect library. This can be caused by two or more modules providing libraries with the same name.
Since there are a lot of different modules installed at UPPMAX, we have no possibility to test the compatibility of all the modules.
If you get error messages that you think might be because of conflicting modules, you can do the following:
Check what modules you have loaded:
module list
If you want to remove one module:
module unload modulename
If you want to remove ALL modules:
module purge
Then start to load the modules you need, one by one:
module load modulename
Until you can run your program whithout errors.
UPPMAX recommends that you only load as many modules as you need for each program, to minimize the risk of having conflicting modules.
Show/Hide all
-
I have a mac and got problems running Perl on UPPMAX with messages about "locale"
- I have a Mac and have problems running perl on UPPMAX, with error messages like "Perl: warning: Setting locale failed." and "Perl: warning: Please check that your locale settings".
-
Edit your .bashrc file (located in your home folder) and add the following lines:
export LC_CTYPE=en_US.UTF-8 export LC_ALL=en_US.UTF-8
... then restart your terminal, or run, when located in your home folder:
source .bashrc

