Spack
Spack es un administrador de paquetes multiplataforma que simplifica la instalación y personalización del stack de software para HCP. Es una forma muy simple en gestionar muchas dependencias.
Instalación spack
git clone -c feature.manyFiles=true https://github.com/spack/spack.git
Para agregar la ruta de spack a las variables del entorno del usuario
share/spack/setup-env.sh
Para mostrar los paquetes disponibles
spack list
Se pueden utilizar comodines '*' para filtrar el listado.
spack list 'py-*'
Para instalar paquetes
spack install <nombre_de_paquete>
Para especificar el compilador. Se debe utilizar el carácter % para identificar el compilador.
spack install mpileaks@1.1.2 %gcc@4.7.3
Opciones de compilador
spack install mpileaks@1.1.2 %gcc@4.7.3 debug=True
spack install mpileaks@1.1.2 %gcc@4.7.3 +debug
Flags de compilador
spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags=“-O3 -floop-block”
Elegir microarquitectura
spack install mpileaks@1.1.2 target=icelake
Customizar dependencias, se utiliza el caracter '^'. Por ejemplo el paquete hdf5 depende de openmpi e indirectamente hwloc.
spack install hdf5@1.10.1 %gcc@4.7.3 +debug ^openmpi+cuda fabrics=auto ^hwloc+gl