The previous tutorial taught you about modules. Here, we talk a bit more about the overall process of finding, building, and compiling software. These days, installing and managing scientific software is taking more and more time, thus we need to specifically talk about it some.
This assumes that you have read the previous tutorial about modules.
Main article: Applications: General info
You can find what software we have available in different ways:
- First, you should check our applications page and see if the software you need is already available and if it has instructions.
- You should also search this site to see what you can find (though not that not everything is in the Triton section here - some applies to Aalto workstations or own computers).
- Then, you should search the issue tracker to see if there are previous issues about it - not everything is always updated.
- Check the available modules with
module avail(next section) to see what’s available but undocumented.
If you find software available, you will usually load it via a module:
For reference, here are the most common applications:
As you learned in the previous tutorial,
a command that allows you to get and remove access to other software -
because not everything can be available at once. Refer to the section
on modules for info - basically
Not all of the software we have available is documented. You can
module spider $NAME to try to see if you can find a module
that way. Note that this is partially case sensitive so it can
be hard to find things - you might need to look through
avail some, too. To see just what a module does, remember
Main article: Singularity Containers
Some software has gotten so hard that it just can’t be installed, and for that we use containers. A software container is basically a complete self-contained operating system environment. Another advantage of containers is that it makes it easy to move installed software from system to system, so that you can have the same environment everywhere.
You can read about singularity from its page. If you load a module that uses singularity,
nothing will happen at first. You execute your software using
singularity_wrapper exec, or use
singularity_wrapper shell to
get a shell in there.
Compilers and toolchains¶
Main article: Compilers and toolchains
Some people need to compile your own code. You can try to use the
gcc, but it is likely too old and doesn’t have
the necessary libraries. Instead, load a toolchain which contains a fixed compiler and support
For GCC-based tool chains, check
module spider goolf and, for
module load goolf/triton-2017a. For Inter-based
module spider iomkl and, for example,
iomkl/triton-2017a. (These stand for “gcc openmpi openblas lapack
fftw” and “intel openmpi intel-mkl”)
Toolchains change often - check back for latest info if you need to use one.
Requesting new software¶
We aim to install a good base of software for our users - but it’s not possible to keep up with all requests. If you need something, submit a request to our issue tracker, but be aware that despite best efforts, we can’t do everything. See the main applications info page.
- Figure out how to use
tensorflow(this is not a software problem, but a searching the documentation problem). Make it work enough to do
import tensorflow– though you will get an error which you will learn to solve in a later lesson.
- Figure out how to run
openfoamby searching the docs (use the new image). Using
foamExecso that it fails with the error message
no application specified. Try
singularity_wrapper shell, too.