Skip to content

Raven installation instructions

Matt Landreman edited this page Oct 5, 2023 · 1 revision

Raven installation instructions

The instructions below will install simsopt, VMEC, and booz_xform for the Max Planck Computing and Data Facility's Raven supercomputer. These instructions work as of September 2023.

Setup environment

  1. Load the required modules:

    module load intel/21.7.1 impi/2021.7 anaconda/3/2023.03
    module load mkl/2021.2 netcdf-mpi mpi4py fftw-mpi boost-mpi/1.79
  2. Set environment variables. These must also be available at runtime, so include the following also in your submit scripts.

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF_HOME}/lib:${MKL_HOME}/lib/intel64
  3. Set up a virtual environment as explained here: https://docs.mpcdf.mpg.de/doc/computing/software/data_analytics-machine_learning#how-to-install-additional-python-packages

    python -m venv --system-site-packages <path/to/my_venv>
    source <path/to/my_venv>/bin/activate

Install simsopt

  1. Clone the simsopt repository and navigate to that directory:

    git clone https://github.com/hiddenSymmetries/simsopt.git
    cd simsopt
  2. Install requirements:

    pip install -r requirements.txt
  3. Install simsopt

    pip install -e .[MPI,SPEC]

If you do not need VMEC, for example if you are running stage-2 coil optimization, you can stop here.

Install VMEC

  1. If you do need VMEC, clone the hiddenSymmetries/VMEC2000 repository and navigate to that directory:

    git clone https://github.com/hiddenSymmetries/VMEC2000
    cd VMEC2000
  2. Install requirements:

    pip install f90wrap scikit-build
  3. Replace cmake_config_file.json with the following, replacing the environmental variables with the appropriate paths, such as the sed commands below:

    {
        "cmake_args": [
            "-DCMAKE_C_COMPILER=mpiicc",
            "-DCMAKE_CXX_COMPILER=mpiicpc",
            "-DCMAKE_Fortran_COMPILER=mpiifort",
            "-DNETCDF_INC_PATH=${NETCDF_HOME}/include",
            "-DNETCDF_LIB_PATH=${NETCDF_HOME}/lib",
            "-DBLA_VNEDOR=Intel10_64lp",
            "-DSCALAPACK_LIB_DIR=${MKL_HOME}/lib/intel64",
            "-DSCALAPACK_LIB_NAME=mkl_scalapack_lp64",
            "-DBLACS_LIB_DIR=${MKL_HOME}/lib/intel64",
            "-DBLACS_LIB_NAME=mkl_blacs_intelmpi_lp64"
        ]
    }
    sed -i 's#\${NETCDF_HOME}#'${NETCDF_HOME}'#g' cmake_config_file.json
    sed -i 's#\${MKL_HOME}#'${MKL_HOME}'#g' cmake_config_file.json
  4. Install VMEC:

    python setup.py build_ext
    python setup.py install

Install booz_xform

  1. If you need booz_xform, it can be installed via
pip install booz_xform