Personal tools
You are here: Home FAQ Software

Software

Show or hide the answer Which software are available on UPPMAX?
To see which  software that are generally available on UPPMAX systems, please see Available software
Show or hide the answer 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.
Show or hide the answer 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

 

Show or hide the answer 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.

Show or hide the answer 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

 

 

Show or hide the answer 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


Show or hide the answer 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
Document Actions