sagecal/INSTALL.md

2.2 KiB

vr 2 dec 2016 23:07:19 CET

SAGECal Installation

1 Prerequsites:

  • CASACORE http://casacore.googlecode.com/
  • glib http://developer.gnome.org/glib
  • BLAS/LAPACK Highly recommended is OpenBLAS http://www.openblas.net/ Also, to avoid any linking issues (and to get best performance), build OpenBLAS from source and link SAGECal with the static library (libopenblas***.a) and NOT libopenblas***.so
  • Compilers gcc/g++ or Intel icc/icpc
  • If you have NVIDIA GPUs, -- CUDA/CUBLAS/CUSOLVER and nvcc -- NVML Nvidia management library
  • If you are using Intel Xeon Phi MICs. -- Intel MKL and other libraries
  • Get the source for SAGECal : git clone git://git.code.sf.net/p/sagecal/code sagecal-code

Via Anaconda

    conda install -c conda-forge casacore==2.4.1

2 The basic way to build is

1.a) go to ./src/lib and run make (which will create libsagecal.a) 1.b) go to ./src/MS and run make (which will create the executable)

    mkdir build && cd build
    cmake .. -DCASACORE_ROOT_DIR=/opt/soft/casacore/ -DENABLE_CUDA=OFF

3 Build settings

In ./src/lib and ./src/MS you MUST edit the Makefiles to suit your system. Some common items to edit are:

  • LAPACK: directory where LAPACK/OpenBLAS is installed
  • GLIBI/GLIBL: include/lib files for glib
  • CASA_LIBDIR/CASA_INCDIR/CASA_LIBS : casacore include/library location and files: Note with new CASACORE might need two include paths, e.g. -I/opt/casacore/include/ -I/opt/casacore/include/casacore
  • CUDAINC/CUDALIB : where CUDA/CUBLAS/CUSOLVER is installed
  • NVML_INC/NVML_LIB : NVML include/lib path
  • NVCFLAGS : flags to pass to nvcc, especially -arch option to match your GPU
  • MKLROOT : for Intel MKL

Example makefiles: Makefile : plain build Makefile.gpu: with GPU support Note: Edit sagecal.h MAX_GPU_ID to match the number of available GPUs Makefile.MIC : with Intel Xeon Phi support

SAGECAL-MPI Installation

1 Prerequsites:

  • Same as above
  • MPI (e.g. OpenMPI)

2 Build ./src/lib as above (using mpicc -DMPI_BUILD)

3 Build ./src/MPI using mpicc++

BUILDSKY Installation

  • See INSTALL in ./src/buildsky

RESTORE Installation

  • See INSTALL in ./src/restore