.. _intro-to-software-modules_index: .. index:: Workshops; Introduction to RCC .. _intro-to-software-modules: ####################################################################### Using software modules on Midway ####################################################################### Midway is a general-purpose computing system available to a large number of users in a variety of fields. To support these users, RCC provides a large number of libraries and applications that have been compiled and tuned for Midway. To maintain a consistent user environment, the RCC uses a modules system for configuring a user's environment. The :command:`module` system is a script based system to manage loading and unloading software modules. Try running the commands below and review the output to learn more about the module system. Basic ``module`` commands: +----------------------+-----------------------------------------------------+ | Command | Description | +======================+=====================================================+ | module avail [name] | lists modules matching [name] (all if 'name' empty) | +----------------------+-----------------------------------------------------+ | module load [name] | loads the named module | +----------------------+-----------------------------------------------------+ | module unload [name] | unloads the named module | +----------------------+-----------------------------------------------------+ | module list | lists the modules currently loaded for the user | +----------------------+-----------------------------------------------------+ Example - Matlab: :command:`module list` .. code:: bash Currently Loaded Modulefiles: 1) slurm/2.4 3) subversion/1.6 5) env/rcc 7) tree/1.6.0 2) vim/7.3 4) emacs/23.4 6) git/1.7 :command:`module avail` .. code:: bash -------------------------------- /software/modulefiles --------------------------------- Minuit2/5.28(default) intelmpi/4.0 Minuit2/5.28+intel-12.1 intelmpi/4.0+intel-12.1(default) R/2.15(default) jasper/1.900(default) ... ifrit/3.4(default) x264/stable(default) intel/11.1 yasm/1.2(default) intel/12.1(default) ------------------------- /usr/share/Modules/modulefiles ------------------------------- dot module-cvs module-info modules null use.own ----------------------------------- /etc/modulefiles ----------------------------------- env/rcc samba/3.6 slurm/2.3 slurm/2.4(default) --------------------------------------- Aliases ---------------------------------------- :command:`module avail matlab` .. code:: bash ---------------------------------------------------------------------------------------- /software/modulefiles ---------------------------------------------------------------------------------------- matlab/2011b matlab/2012a(default) matlab/2012b ---------------------------------------------------------------------------------------- :command:`module avail` .. code:: bash which matlab :command:`module load matlab` .. code:: bash which matlab /software/matlab-2012a-x86_64/bin/matlab :command:`module list` .. code:: bash Currently Loaded Modulefiles: 1) slurm/2.4 3) subversion/1.6 5) env/rcc 7) tree/1.6.0 2) vim/7.3 4) emacs/23.4 6) git/1.7 8) matlab/2012a :command:`module unload matlab` .. code:: bash which matlab :command:`module load matlab/2011b` .. code:: bash which matlab /software/matlab-2011b-x86_64/bin/matlab :command:`module list` .. code:: bash Currently Loaded Modulefiles: 1) slurm/2.4 3) subversion/1.6 5) env/rcc 7) tree/1.6.0 2) vim/7.3 4) emacs/23.4 6) git/1.7 8) matlab/2011b