Modules
In computing, a module is a unit of software that is designed to be independent, interchangeable, and contain everything necessary to provide some desired functionality. [1] The term "module" may sometimes have a more specific meaning depending on context. This page describes a few types of modules and cites their corresponding documentation pages.
Disambiguation
Lmod modules
Also called "environment modules", Lmod modules are used to alter your (shell) environment so as to enable you to use a particular software package, or to use a non-default version of certain common software packages such as compilers. See Using modules.
Python modules
In Python, a module is file of code (usually Python code) which can be loaded with the import ...
or from ... import ...
statements to provide functionality. A Python package is a collection of Python modules; the terms "package" and "module" are frequently interchanged in casual use.
[2]
Certain frequently-used Python modules such as "Numpy" can be imported if you first load the scipy-stack
Lmod module at the shell level.
See SciPy stack for details.
Compute Canada maintains a large collection of Python "wheels". These are modules which are pre-compiled to be compatible with the Standard software environments. Before importing modules from the Compute Canada wheels, you should create a virtual environment.
Python modules which are in neither the scipy-stack
Lmod module or our wheels collection can be installed from the internet
as described at Python#Installing_packages.
The main Available software page is a good starting point. Other related pages:
- Standard software environments: as of April 1st, 2021,
StdEnv/2020
is the default collection of Lmod modules - Lmod modules specific to Niagara
- Tables of Lmod modules optimized for AVX, AVX2 and AVX512 CPU instructions
- Category Software: a list of different software pages in this wiki, including commercial or licensed software