136 lines
3.5 KiB
Markdown
136 lines
3.5 KiB
Markdown
vr 2 dec 2016 23:07:19 CET
|
|
|
|
# SAGECal Installation
|
|
|
|
## Cmake Build
|
|
|
|
### Requirements
|
|
#### Ubuntu (tested with 16.04)
|
|
- Add KERN repository. Intructions can also be found at [http://kernsuite.info/](http://kernsuite.info/)
|
|
```
|
|
sudo apt-get install software-properties-common
|
|
sudo add-apt-repository -s ppa:kernsuite/kern-3
|
|
sudo apt-add-repository multiverse
|
|
sudo apt-get update
|
|
```
|
|
|
|
- Install following packages:
|
|
```
|
|
sudo apt-get install -y git cmake g++ pkg-config libcfitsio-bin libcfitsio-dev libopenblas-base libopenblas-dev wcslib-dev wcslib-tools libglib2.0-dev libcasa-casa2 casacore-dev casacore-data casacore-tools
|
|
```
|
|
#### Other systems
|
|
|
|
- Install equivalent packages for your distribution
|
|
- g++
|
|
- cmake
|
|
- git
|
|
- pkg-config
|
|
- openblas
|
|
- libglib2.0-dev
|
|
- follow the instructions at
|
|
[https://github.com/casacore/casacore](https://github.com/casacore/casacore) to install casacore.
|
|
|
|
|
|
### Building
|
|
- Clone the repository
|
|
```
|
|
git clone -b sprint_cmake https://git@github.com/nlesc-dirac/sagecal.git
|
|
|
|
```
|
|
|
|
- Build SageCal
|
|
```
|
|
mkdir build && cd build
|
|
cmake .. -DENABLE_CUDA=OFF
|
|
```
|
|
|
|
**OPTIONAL:** You can also define a custon casacore path:
|
|
|
|
```
|
|
cmake .. -DCASACORE_ROOT_DIR=/opt/soft/casacore/ -DENABLE_CUDA=OFF
|
|
```
|
|
|
|
Compile with:
|
|
```
|
|
make -j4
|
|
```
|
|
|
|
|
|
- The sagecal executable can be found in
|
|
**dist/bin** folder. All the libraries will be stored in **dist/lib** folder.
|
|
|
|
|
|
|
|
### Via Anaconda (WIP)
|
|
```
|
|
conda install -c sagecal=0.6.0
|
|
```
|
|
|
|
|
|
|
|
## Manual 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
|
|
|
|
|
|
### 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)
|
|
|
|
|
|
### 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
|
|
|
|
|
|
|