...
Logging into the
Marconi
:Code Block ssh <USER_NAME>@login.marconi.cineca.it
Change location to
$WORK
directory, which should point to/marconi_work/FUSIO_HLST
:Code Block $: cd $WORK $: pwd /marconi_work/FUSIO_HLST
Load GCC 7.3.0:
Code Block module load gnu/7.3.0
Prepare directories:
Code Block $: mkdir -p IMAS_software/{cache,libs,modules,spack,stage}-{gcc,intel} $: mkdir -p IMAS_software/cache-{gcc,intel}/{cache,var,test} $: tree IMAS_software/ IMAS_software/ ├── cache-gcc │ ├── cache │ ├── test │ └── var ├── cache-intel │ ├── cache │ ├── test │ └── var ├── libs-gcc ├── libs-intel ├── modules-gcc ├── modules-intel ├── spack-gcc ├── spack-intel ├── stage-gcc └── stage-intel
Clone spack repository to
spack-gcc
:Code Block git clone https://github.com/spack/spack.git spack-gcc
Go into
spack-gcc
directory:Code Block cd spack-gcc
Checkout desired version of
spack
:Code Block git checkout v0.19.0
Set-up
spack
configuration:Go to directory where default configuration files are stored (assuming you're still inside spack-gcc repository):
Code Block cd etc/spack/defaults/
Edit
config.yaml
:Code Block vim config.yaml
You need to change the root of the install_tree, projections for all, build_stage dir, test_stage dir, source_cache dir and misc_cache dir.
Example:root
of theinstall_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: /marconi_work/FUSIO_HLST/IMAS_software/libs-gcc
projections
:Code Block projections: all: "${PACKAGE}/${VERSION}/${COMPILERNAME}/${COMPILERVER}/${HASH}"
build_stage
:Code Block build_stage: - /marconi_work/FUSIO_HLST/IMAS_software/stage-gcc
test_stage
:Code Block test_stage: /marconi_work/FUSIO_HLST/IMAS_software/cache-gcc/test
source_cache
:Code Block source_cache: /marconi_work/FUSIO_HLST/IMAS_software/cache-gcc/var/cache
misc_cache
:Code Block misc_cache: /marconi_work/FUSIO_HLST/IMAS_software/cache-gcc/cache
Edit
modules.yaml
:Code Block vim modules.yaml
Change the roots for the tcl modules:
Example:
Code Block # These are configurations for the module set named "default" default: # Where to install modules roots: tcl: /marconi_work/FUSIO_HLST/IMAS_software/modules-gcc
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
Change the directory to the top of the
spack
repository:Code Block cd ../../../
Source
spack
:Code Block source share/spack/setup-env.sh
Check the
spack
version - should be0.19.0
:Code Block spack --version
Install
Lapack
:Code Block spack install netlib-lapack %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Install
Blas
:Code Block spack install -j 1 netlib-xblas %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Install
Python
withtkinter
support:Code Block spack install python@3.9.15 +tkinter %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Install
py-scipy
:Code Block spack install --fail-fast py-scipy %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Install
py-matplotlib
:Code Block spack install --fail-fast py-matplotlib backend=tkagg %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Install
py-pyyaml
:Code Block spack install --fail-fast py-pyyaml %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Install
hdf5
:Code Block spack install --fail-fast hdf5@1.12.2 %gcc@7.3.0 +threadsafe +cxx +fortran cflags="'-fPIC -pthread'" cxxflags="'-fPIC -pthread'" cppflags="'-fPIC -pthread'"
Install
boost
:Code Block spack install --fail-fast boost %gcc@7.3.0 +python +numpy cflags="'-fPIC -pthread'" cxxflags="'-fPIC -pthread'" cppflags="'-fPIC -pthread'"
Install
blitz
:Code Block spack install --fail-fast blitz@1.0.1 %gcc@7.3.0 cflags="'-fPIC -pthread'" cxxflags="'-fPIC -pthread'" cppflags="'-fPIC -pthread'"
Install
mdsplus
:Code Block spack install --fail-fast mdsplus %gcc@7.3.0 cflags="-fPIC" cxxflags="-fPIC" cppflags="-fPIC"
Download
Saxon
:
- it's required byIMAS
, butSpack
is missing proper recipeCode Block $: mkdir -p libs-gcc/saxon $: cd libs-gcc/saxon $: wget https://sourceforge.net/projects/saxon/files/Saxon-HE/9.9/SaxonHE9-9-1-5J.zip/download $: unzip download
Create two softlinks:
Code Block $: ln -s saxon9-test.jar saxon9he-test.jar $: ln -s saxon9-xqj.jar saxon9he-xqj.jar
And set the saxon files available:
Code Block chmod -R 777 .
Prepare
Saxon
module:Code Block $: cd ../../ $: mkdir -p modules-gcc/saxon $: vim modules-gcc/saxon/9.9
And fill the created module with below content:
Code Block #%Module ## ## Modulefile for saxon ## Maciej Smukowski 2022 ## set fpath [file dirname $ModulesCurrentModulefile] set VERSION [file tail $ModulesCurrentModulefile] module-whatis "Enable the usage of saxon $VERSION. \tKeywords: math tool matlab" proc ModulesDisplay {} { } conflict saxon set SAXON_HOME /marconi_work/FUSIO_HLST/IMAS_software/libs-gcc/saxon prepend-path SAXON_HOME /marconi_work/FUSIO_HLST/IMAS_software/libs-gcc/saxon prepend-path CLASSPATH $SAXON_HOME/saxon9he.jar prepend-path CLASSPATH $SAXON_HOME/saxon9-test.jar prepend-path CLASSPATH $SAXON_HOME/saxon9-xqj.jar prepend-path CLASSPATH $SAXON_HOME/saxon9he-test.jar prepend-path CLASSPATH $SAXON_HOME/saxon9he-xqj.jar
Marconi + SPACK + INTEL
Gateway + SPACK + GNU
...