Applications

The previous tutorial taught you about modules. Here, we talk a bit more about the overall process of finding, building, and compiling software. In modern times, the difficulty of configuring and compiling software is taking up more and more time, thus the need to cover it.

See also

Main article: Applications: General info

Available software

You can find what we make 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 spider and module avail (next section) to see what’s available but undocumented.

If you find software available, you will usually load it via a module:

Modules

As you learned in the previous tutorial, module is 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 module load $NAME.

Not all of the software we have available is documented. You should also module spider $NAME to try to see if you can find a module that way. Note that this is case sensitive in a weird away so it can be hard to find things - you might need to look through module avail some, too. To see just what a module does, remember module show.

Singularity containers

See also

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.

You can read about singularity from its page. For now, realize that, after you load some modules, you may need to run singularity_wrapper to use them.

Compilers and toolchains

See also

Main article: Compilers and toolchains

Some people need to compile your own code. You can try to use the operating system 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 libraries.

For GCC-based tool chains, check module spider goolf and, for example, module load goolf/triton-2017a. For Inter-based compilers, try module spider iomkl and, for example, module load iomkl/triton-2017a. (These stand for “gcc openmpi openblas lapack fftw” and “intel openmpi intel-mkl”)

For more info, see toolchain

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.

Exercises

  1. Figure out how to use tensorflow (this is not a software problem, but a searching the documentation problem). Make it work enough to do python and import tensorflow – though you will get an error which you will learn to solve in a later lesson.
  2. Figure out how to run openfoam. Run foamExec so that it fails with the error message no application specified.

Next steps

The next tutorial is data storage