Table of Contents | ||
---|---|---|
|
Spack Introduction and Environment Setup
What is Spack?
Spack is a package manager, similar to yum
, apt-get
, or conda. I
t allows for multiple package versions/configurations.
Table of Contents | ||
---|---|---|
|
...
Spack Introduction and Environment Setup
What is Spack?
Spack is a package manager, similar to yum
, apt-get
, or conda. I
t allows for multiple package versions/configurations. Unlike the other package managers listed, Spack is specifically designed to be used on HPC resources with varying architectures. The purpose of this documentation is to provide a practical guide to quickly enable you to take advantage of its use in your research.
...
Warning |
---|
Note: Sometimes, you'll see multiple installations of the same package installed on the same OS, with the same compiler (e.g. relion@3.0_beta is listed 3 times in the above output). What this means is that this packages was installed for the same OS/compiler, but with different configuration options. This will be explained in the next section. |
...
Code Block |
---|
==> 19 installed packages. -- linux-centos7-x86_64 / gcc@4.8.5 ----------------------------- python@2.7.13 python@2.7.14 python@3.4.3 python@3.5.2 python@3.5.2 python@3.6.0 -- linux-centos7-x86_64 / gcc@6.3.0 ---------------------------------- python@2.7.13 python@2.7.14 python@2.7.14 python@2.7.15 python@3.4.3 python@3.6.0 python@3.7.0 python@2.7.13 python@2.7.14 python@2.7.1315 python@2.7.14 python@2.7.14 python@2.7.15 python@3.4.3 python@3.6.0 python@3.7.0 python@2.7.13 python@2.7.14 python@2.7.15 python@2.7.15 python@3.5.2 python@3.6.2 |
Notice that there are multiple installations of python, that differ in version number, compiler, etc. As such, it is always a good idea to use the command spack find
to observe if there are multiple installations before just loading a package blindly (otherwise you may load an installation that you do not intend).
Warning |
---|
Before loading any Spack packages, it is helpful to know that Spack stores a list of loaded packages in the variable |
To load the installation of python v. 3.7.0 that was compiled with GCC v. 6.3.0, use this command:
Code Block |
---|
spack load -r python@3.7.0^gcc@6.3.0 |
...
.15 python@3.5.2 python@3.6.2 |
Notice that there are multiple installations of python, that differ in version number, compiler, etc. As such, it is always a good idea to use the command spack find
to observe if there are multiple installations before just loading a package blindly (otherwise you may load an installation that you do not intend).
Warning |
---|
Before loading any Spack packages, it is helpful to know that Spack stores a list of loaded packages in the variable |
To load the installation of python v. 3.7.0 that was compiled with GCC v. 6.3.0, use this command:
Code Block |
---|
spack load -r python@3.7.0^gcc@6.3.0 |
- The -r instructs Spack to load all modules that python@3.7.0 depends on. This is typically done automatically, but not currently done for perl, python, or R (this is because Spack does not build these packages with RPATH support--this may change in the future).
Executing this command doesn't produce any output, but just to illustrate that python@3.4.3 is indeed loaded (as well as its dependencies), execute the following command:
Code Block |
---|
echo $LOADEDMODULES | sed "s/:/\n/g" | sort |
Here, we can see that python@3.4.3 is indeed loaded, as are all packages that it depends on.
How to use a unload package
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...