Tuesday, February 19, 2013

some knowledge about compilation on different architecture

Recently I am compiling some serial and parallel software packages.
Some often used abbreviations are listed below.

Before you compile the software, be sure that you know the architecture of the machine you will install. Is it IBM, CARY, or SUN? Generally speaking, the hardware could be very different, but the software OS is Unix/Linux.   

Now let's talk the compilers. The two most common languages are Fortran and C/C++ for scientific calculations. So you need know the compilers for both languages.

Several most often used Fortran compilers:
Intel: ifort
The Portland Group, Inc: pgf77, pgf90, pghpf
G95 project: g95
GNU (free software union) project: gfortran (forked off from g95)

Several most often used C/C++ compilers:
Intel: icc
The Portland Group, Inc: pgcc (for C), pgCC (for C++), 

GNU (free software union) project: gcc, gCC (cc and CC in fact are similar like gcc and gCC. However, cc or CC is a standard Unix compiler while gcc or gCC is produced by GNU.)


Often used mathematical library
MKL library from INTEL including Linear Algebra, Fast Fourier Transforms (FFT), Vector Math and Statistics. Cluster-based versions of LAPACK and FFT are also included to support MPI-based distributed memory computing.
 fftw from FFTW.org
 BLAS and LAPACK for linear algebra.
 
Parallel tools:
OPENMPI
MPICH


No comments:

Post a Comment