Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

 Installation of SPACK

TODO: This section should contain all the information related to:

...

  1. Load GCC 7.3.0:

    Code Block
    module load gnu/7.3.0


  2. Prepare directories:

    Code Block
    $: mkdir -p <ROOT_DIR>/{cache,libs,modules,spack,stage}-{<compiler_names>}
    $: mkdir -p <ROOT_DIR>/cache-{<compiler_names>}/{cache,var,test}
    $: tree <ROOT_DIR/
    <ROOT_DIR>/
    ├── cache-compiler_x
    │   ├── cache
    │   ├── test
    │   └── var
    ├── cache-compiler_y
    │   ├── cache
    │   ├── test
    │   └── var
    ├── libs-compiler_x
    ├── libs-compiler_y
    ├── modules-compiler_x
    ├── modules-compiler_y
    ├── spack-compiler_x
    ├── spack-compiler_y
    ├── stage-compiler_x
    └── stage-compiler_y


  3. Clone spack repository to spack-gcc :

    Code Block
    git clone https://github.com/spack/spack.git spack-compiler_name


  4. Go into spack-gcc directory:

    Code Block
    cd spack-compiler_name


  5. Checkout desired version of spack :

    Code Block
    git checkout v0.19.0


  6. Set-up spack configuration:

    1. Go to directory where default configuration files are stored (assuming you're still inside spack-compiler_name repository):

      Code Block
      cd etc/spack/defaults/


    2. Edit config.yaml :

      Code Block
      vim config.yaml

      You need to change the root of the install_tree, projections for allbuild_stage dir, test_stage dir, source_cache dir and misc_cache dir.
      Example:

      1. root of the install_tree :

        Code Block
        config:
          # This is the path to the root of the Spack install tree.
          # You can use $spack here to refer to the root of the spack instance.
          install_tree:
            root: <path_prefix>/<ROOT_DIR>/libs-compiler_name


      2. projections :

        Code Block
        projections:
              all: "${PACKAGE}/${VERSION}/${COMPILERNAME}/${COMPILERVER}/${HASH}"


      3. build_stage :

        Code Block
          build_stage:
            - <path_prefix>/<ROOT_DIR>/stage-compiler_name


      4. test_stage :

        Code Block
          test_stage: <path_prefix>/<ROOT_DIR>/cache-compiler_name/test


      5. source_cache :

        Code Block
          source_cache: <path_prefix>/<ROOT_DIR>/cache-compiler_name/var/cache


      6. misc_cache :

        Code Block
          misc_cache: <path_prefix>/<ROOT_DIR>/cache-compiler_name/cache


    3. Edit modules.yaml :

      Code Block
      vim modules.yaml

      Change the roots for the tcl modules:

      1. Example: 

        Code Block
          # These are configurations for the module set named "default"
          default:
            # Where to install modules
            roots:
             tcl:    <path_prefix>/<ROOT_DIR>/modules-compiler_name


    4. Edit linux/modules.yaml :

      Code Block
      vim linux/modules.yaml

      Here you have to fill the whole body just to set the module structure projections:


      Code Block
      modules:
        default:
          arch_folder: false
          tcl:
            projections:
              all: '{name}/{version}/{compiler.name}/{compiler.version}/sha'
          prefix_inspections:
            lib:
              - LD_LIBRARY_PATH
            lib64:
              - LD_LIBRARY_PATH



  7. Change the directory to the top of the spack repository:

    Code Block
    cd ../../../
    


  8. Source spack :

    Code Block
    source share/spack/setup-env.sh


  9. Check the spack version - should be 0.19.0 :

    Code Block
    spack --version

...


Marconi + SPACK + GNU

This instruction covers all actions and commands from logging into the Marconi server to installing imasenv.

...