Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 99 to 99 | ||||||||
Take a look. You might be surprised by what I've included. As of May-2022, the list includes: | ||||||||
Changed: | ||||||||
< < | jupyter jupyterlab iminuit numpy scipy matplotlib pandas sympy terminado urllib3 pycurl tables rootpy rootkernel uproot scikit-learn tensorflow keras torch torchvision scikit-hep h5py astropy gammapy fitsio healpy astropy-healpix cython numba | |||||||
> > | jupyter jupyterlab iminuit numpy scipy matplotlib pandas sympy terminado urllib3 pycurl tables rootpy rootkernel uproot scikit-learn tensorflow keras torch torchvision scikit-hep h5py astropy gammapy fitsio healpy astropy-healpix cython numba numba_stats | |||||||
All the packages you see on that list are also available via our notebook server. |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 83 to 83 | ||||||||
module unload root | ||||||||
Added: | ||||||||
> > | PythonIf you trymodule avail , you will see more packages than just ROOT. In particular, if you're working with python, it's worth looking at the version in the Nevis environment modules.
module load pythonThis will load the latest version of Python (3.10 as of May-2022) from the Linux cluster software libraries (use module avail python to see all the available versions). You can see which packages I've installed as part of our Python distribution with:
pip freezeTake a look. You might be surprised by what I've included. As of May-2022, the list includes: jupyter jupyterlab iminuit numpy scipy matplotlib pandas sympy terminado urllib3 pycurl tables rootpy rootkernel uproot scikit-learn tensorflow keras torch torchvision scikit-hep h5py astropy gammapy fitsio healpy astropy-healpix cython numba
All the packages you see on that list are also available via our notebook server.
If you want a package that's not on the list, you can install it in your home directory with:
pip install --user --upgrade <package-name>If a package is of sufficient interest that other users may want it, let WilliamSeligman know. He'll install it on the both the library server and the notebook server. This approach has some advantages:
module load root will also load a compatible version of python, with at least the packages listed above. | |||||||
Do not use the
The reason is that most of the modules are "nested" and call sub-modules; e.g., the command |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 96 to 96 | ||||||||
As you'll see, there's a tangled history of different versions of ROOT, Geant4, and the versions of GCC![]() | ||||||||
Changed: | ||||||||
< < | The following basic setup command will always work here, as the default versions of ROOT and Geant4 will always be compiled with the same compiler: | |||||||
> > | The following basic setup command will always work here, as the default versions of ROOT and Geant4 will always be compiled with the same compiler version: | |||||||
module load root geant4 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 158 to 158 | ||||||||
Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup command. Why make a change? | ||||||||
Added: | ||||||||
> > |
| |||||||
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
How? |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 42 to 42 | ||||||||
What are environment modules? | ||||||||
Changed: | ||||||||
< < | The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
> > | The command-line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
Environment modules![]() | ||||||||
Changed: | ||||||||
< < | export ROOTSYS=/usr/nevis/ROOT-5.34.23 | |||||||
> > | export ROOTSYS=/usr/nevis/ROOT-05.34.23 | |||||||
export PATH=$ROOTSYS/bin:$PATH export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH | ||||||||
Line: 58 to 58 | ||||||||
Another advantage of environment modules is that they are shell-independent. For example, the above export commands are valid in bash and zsh , but in csh you must use: | ||||||||
Changed: | ||||||||
< < | setenv ROOTSYS /usr/nevis/ROOT-5.34.23 | |||||||
> > | setenv ROOTSYS /usr/nevis/ROOT-05.34.23 | |||||||
setenv PATH $ROOTSYS/bin:$PATH setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATH | ||||||||
Line: 144 to 144 | ||||||||
You can also pick up tips by looking at the Nevis module files in /usr/nevis/modules . | ||||||||
Changed: | ||||||||
< < | The scripting language used in module files is Tcl![]() ![]() | |||||||
> > | The scripting language used in module files is Tcl![]() ![]() | |||||||
How are environment modules set up at Nevis? | ||||||||
Line: 152 to 152 | ||||||||
The Nevis-specific module files are in /usr/nevis/modules . There are some example/utility files that part of the default Linux environment modules package; these are located in /usr/share/Modules/modulefiles and /etc/modulefiles . | ||||||||
Changed: | ||||||||
< < | Transition: From setup to environment modules | |||||||
> > | Transition: From | |||||||
Why? | ||||||||
Changed: | ||||||||
< < | Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup. Why make a change? | |||||||
> > | Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup command. Why make a change? | |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 158 to 158 | ||||||||
Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup. Why make a change? | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
How?For the most part, you don't have to do anything. Thesetup command is not going away any time soon. It simply won't be maintained anymore for any new package versions. | ||||||||
Changed: | ||||||||
< < | Over time, if you have something like setup root geant4 in your scripts, you can replace it with module load root geant4 . This may have unexpected results (the default versions of ROOT and Geant4 are different for the setup and module commands). | |||||||
> > | Over time, if you have something like setup root in your scripts, you can replace it with module load root . This may have unexpected results (the default versions of ROOT and Geant4 are different for the setup and module commands). | |||||||
If you're loading a specific version of ROOT or Geant4, it's typically obvious how to update them, with some guidance from the module avail command. For example, setup root532 becomes module load root/05.32.00 . |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Changed: | ||||||||
< < | Environment modules![]() module to set up software packages available on the applications server. | |||||||
> > | On this page:
![]() module command to set up software packages available on the applications server. | |||||||
Quick start guide | ||||||||
Line: 38 to 42 | ||||||||
What are environment modules? | ||||||||
Changed: | ||||||||
< < | The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell and its environment easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
> > | The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
Environment modules![]() | ||||||||
Line: 59 to 63 | ||||||||
setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATH | ||||||||
Changed: | ||||||||
< < | but even in csh, the environment modules command is still module load root . | |||||||
> > | Even in csh, the environment modules command is still module load root .
Another advantage of environment modules: the obscure bits of package set ups are handled for you. For example, neither of the above ROOT examples demonstrate how to set the value of $PYTHONPATH in case you want to use PyROOT![]() ![]() ![]() module command![]() Using environment modulesTypically everything you need to know is in the "Quick Start" section above. There are more details in the man page for themodule command![]() module listTo remove a module's effects on your shell environment; e.g., any version of ROOT you've loaded: module unload root Do not use the
The reason is that most of the modules are "nested" and call sub-modules; e.g., the command |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Environment modules on the Nevis particle-physics Linux clusterEnvironment modules![]() module to set up software packages available on the applications server.
Quick start guideTo set up ROOT![]() module load rootTo set up Geant4 ![]() module load geant4To see what packages and versions are available: module availIf you just want to see the versions for a particular package, e.g., ROOT: module avail rootTo get a brief description of a given package, e.g., Geant4.9.6: module whatis geant/4.9.6To get a longer description: module help geant/4.9.6 What are environment modules?The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell and its environment easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc.
Environment modules![]() export ROOTSYS=/usr/nevis/ROOT-5.34.23 export PATH=$ROOTSYS/bin:$PATH export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATHevery time you use ROOT, you can just type this instead: module load rootAnother advantage of environment modules is that they are shell-independent. For example, the above export commands are valid in bash and zsh , but in csh you must use:
setenv ROOTSYS /usr/nevis/ROOT-5.34.23 setenv PATH $ROOTSYS/bin:$PATH setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATHbut even in csh, the environment modules command is still module load root . |