Modules: Difference between revisions
(clarify and shorten) |
No edit summary |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
<translate> | <translate> | ||
In computing, a module is a unit of software that is designed to be independent, interchangeable, and | <!--T:1--> | ||
In computing, a module is a unit of software that is designed to be independent, interchangeable, and contains everything necessary to provide the desired functionality. | |||
<ref>[https://en.wikipedia.org/wiki/Modular_programming Wikipedia, "Modular programming"]</ref> | <ref>[https://en.wikipedia.org/wiki/Modular_programming Wikipedia, "Modular programming"]</ref> | ||
The term "module" may sometimes have a more specific meaning depending on context. | The term "module" may sometimes have a more specific meaning depending on the context. | ||
This page describes a few types of modules and | This page describes a few types of modules and suggests links to further documentation content. | ||
== Disambiguation == | == Disambiguation == <!--T:2--> | ||
=== Lmod modules === | === Lmod modules === <!--T:3--> | ||
<!--T:4--> | |||
Also called "environment modules", Lmod modules are used to alter your (shell) environment so as to enable you to use a particular software package, | 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]]. | or to use a non-default version of certain common software packages such as compilers. See [[Using modules]]. | ||
=== Python modules === | === Python modules === <!--T:5--> | ||
In Python, a module is file of code (usually Python code) which can be loaded with the <code>import ...</code> or <code>from ... import ...</code> statements to provide functionality. A Python package is a collection of Python modules; the terms "package" and "module" are frequently interchanged in casual use. | <!--T:6--> | ||
In Python, a module is a file of code (usually Python code) which can be loaded with the <code>import ...</code> or <code>from ... import ...</code> statements to provide functionality. A Python package is a collection of Python modules; the terms "package" and "module" are frequently interchanged in casual use. | |||
<ref>[https://www.tutorialspoint.com/What-is-the-difference-between-a-python-module-and-a-python-package Tutorialspoint.com, "What is the difference between a python module and a python package?"]</ref> | <ref>[https://www.tutorialspoint.com/What-is-the-difference-between-a-python-module-and-a-python-package Tutorialspoint.com, "What is the difference between a python module and a python package?"]</ref> | ||
Certain frequently | <!--T:7--> | ||
Certain frequently used Python modules such as Numpy can be imported if you first load the <code>scipy-stack</code> Lmod module at the shell level. | |||
See [[Python#SciPy_stack|SciPy stack]] for details. | See [[Python#SciPy_stack|SciPy stack]] for details. | ||
<!--T:8--> | |||
We maintain a large collection of [[Python#Available_wheels|Python "wheels."]] | |||
These are modules which are pre-compiled to be compatible with the [[Standard software environments]]. | These are modules which are pre-compiled to be compatible with the [[Standard software environments]]. | ||
Before importing modules from | Before importing modules from our wheels, you should create a [[Python#Creating_and_using_a_virtual_environment|virtual environment]]. | ||
Python modules which are in | <!--T:9--> | ||
as described | Python modules which are not in the <code>scipy-stack</code> Lmod module or in our wheels collection can be installed from the internet | ||
as described in the [[Python#Installing_packages|Installing packages]] section. | |||
== Other related topics == | == Other related topics == <!--T:10--> | ||
The main [[Available software]] page is a good starting point. Other related pages: | <!--T:11--> | ||
* [[Standard software environments]]: as of April | The main [[Available software]] page is a good starting point. Other related pages are: | ||
* [[Standard software environments]]: as of April 1, 2021, <code>StdEnv/2020</code> is the default collection of Lmod modules | |||
* Lmod [[modules specific to Niagara]] | * Lmod [[modules specific to Niagara]] | ||
* Tables of Lmod modules optimized for [[Modules avx|AVX]], '''[[Modules avx2|AVX2]]''' and '''[[Modules avx512|AVX512]]''' [[Standard_software_environments#Performance_improvements|CPU instructions]] | * Tables of Lmod modules optimized for [[Modules avx|AVX]], '''[[Modules avx2|AVX2]]''' and '''[[Modules avx512|AVX512]]''' [[Standard_software_environments#Performance_improvements|CPU instructions]] | ||
* [[:Category:Software|Category ''Software'']]: a list of different software pages in this wiki, including commercial or licensed software | * [[:Category:Software|Category ''Software'']]: a list of different software pages in this wiki, including commercial or licensed software | ||
== Footnotes == | == Footnotes == <!--T:12--> | ||
</translate> | </translate> |
Latest revision as of 01:32, 22 June 2022
In computing, a module is a unit of software that is designed to be independent, interchangeable, and contains everything necessary to provide the desired functionality. [1] The term "module" may sometimes have a more specific meaning depending on the context. This page describes a few types of modules and suggests links to further documentation content.
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 a 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.
We maintain 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 our wheels, you should create a virtual environment.
Python modules which are not in the scipy-stack
Lmod module or in our wheels collection can be installed from the internet
as described in the Installing packages section.
The main Available software page is a good starting point. Other related pages are:
- Standard software environments: as of April 1, 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