Compile FOCUS

less than 1 minute read

Published:

Steps to compile the FOCUS code.

Requirements for compiler:

  • c++ (gcc>=9.3)

  • nvcc (for gpu)

Requirements for libraries:

  • openmpi

  • boost

  • focus/extlibs/magma (for gpu)

  • focus/extlibs/nccl (for gpu)
    • edit makefiles/common.mk
    • make
        make -j src.build NVCC_GENCODE="-gencode=arch=compute_80,code=sm_80"
      
  • focus/extlibs/gsl: GNU Scientific Library (GSL)
      ./configure prefix=somedir
      make -j
      make install
    
  • focus/extlibs/nlopt: NLopt
      mkdir build
      cd build
      cmake -DCMAKE_INSTALL_PREFIX=director_to_install ..
      make
      make install
    

    For more information, see installation guide.

  • focus/extlibs/zquatev: for diagonalizing quaternion matrix
    • edit Makefile & make

FOCUS source:

  • focus/src/ctns/gpu_kernel
    • edit Makefile & make
  • focus:
    • edit Makefile & make