├── CLA.md ├── LICENSE ├── README.md ├── autodock └── 2020.06.lua ├── chroma ├── 2018-cuda9.0-ubuntu16.04-volta-openmpi.lua ├── 2020.06.lua └── 2021.04.lua ├── gromacs ├── 2018.2.lua ├── 2020.2.lua └── 2021.lua ├── julia ├── v1.5.0.lua └── v2.4.2.lua ├── lammps ├── 15Jun2020.lua ├── 24Oct2018.lua └── 29Oct2020.lua ├── milc └── quda0.8-patch4Oct2017.lua ├── namd ├── 2.13-multinode.lua ├── 2.13-singlenode.lua └── 3.0-alpha3-singlenode.lua ├── nvhpc ├── 20.11.lua ├── 20.7.lua ├── 20.9.lua └── 21.5.lua ├── pytorch ├── 20.02-py3.lua ├── 20.03-py3.lua ├── 20.06-py3.lua ├── 20.11-py3.lua ├── 20.12-py3.lua └── 21.06-py3.lua ├── qmcpack └── v3.5.0.lua ├── quantum_espresso ├── v6.6a1.lua └── v6.7.lua ├── rapidsai ├── 0.12.lua ├── 0.13.lua ├── 0.14.lua ├── 0.15.lua ├── 0.16.lua ├── 0.17.lua └── 21.06.lua ├── relion ├── 2.1.b1.lua ├── 3.0.8.lua ├── 3.1.0.lua └── 3.1.2.lua └── tensorflow ├── 20.02-tf1-py3.lua ├── 20.02-tf2-py3.lua ├── 20.03-tf1-py3.lua ├── 20.03-tf2-py3.lua ├── 20.06-tf1-py3.lua ├── 20.06-tf2-py3.lua ├── 20.11-tf1-py3.lua ├── 20.11-tf2-py3.lua ├── 20.12-tf1-py3.lua ├── 20.12-tf2-py3.lua ├── 21.06-tf1-py3.lua └── 21.06-tf2-py3.lua /CLA.md: -------------------------------------------------------------------------------- 1 | ## Individual Contributor License Agreement (CLA) 2 | 3 | **Thank you for submitting your contributions to this project.** 4 | 5 | By signing this CLA, you agree that the following terms apply to all 6 | of your past, present and future contributions to the project. 7 | 8 | ### License. 9 | 10 | You hereby represent that all present, past and future contributions 11 | are governed by the [MIT License](https://opensource.org/licenses/MIT) 12 | copyright statement. 13 | 14 | This entails that to the extent possible under law, you transfer all 15 | copyright and related or neighboring rights of the code or documents 16 | you contribute to the project itself or its maintainers. Furthermore 17 | you also represent that you have the authority to perform the above 18 | waiver with respect to the entirety of you contributions. 19 | 20 | ### Moral Rights. 21 | 22 | To the fullest extent permitted under applicable law, you hereby 23 | waive, and agree not to assert, all of your “moral rights” in or 24 | relating to your contributions for the benefit of the project. 25 | 26 | ### Third Party Content. 27 | 28 | If your Contribution includes or is based on any source code, object 29 | code, bug fixes, configuration changes, tools, specifications, 30 | documentation, data, materials, feedback, information or other works 31 | of authorship that were not authored by you (“Third Party Content”) or 32 | if you are aware of any third party intellectual property or 33 | proprietary rights associated with your Contribution (“Third Party 34 | Rights”), then you agree to include with the submission of your 35 | Contribution full details respecting such Third Party Content and 36 | Third Party Rights, including, without limitation, identification of 37 | which aspects of your Contribution contain Third Party Content or are 38 | associated with Third Party Rights, the owner/author of the Third 39 | Party Content and Third Party Rights, where you obtained the Third 40 | Party Content, and any applicable third party license terms or 41 | restrictions respecting the Third Party Content and Third Party 42 | Rights. For greater certainty, the foregoing obligations respecting 43 | the identification of Third Party Content and Third Party Rights do 44 | not apply to any portion of a Project that is incorporated into your 45 | Contribution to that same Project. 46 | 47 | ### Representations. 48 | 49 | You represent that, other than the Third Party Content and Third Party 50 | Rights identified by you in accordance with this Agreement, you are 51 | the sole author of your Contributions and are legally entitled to 52 | grant the foregoing licenses and waivers in respect of your 53 | Contributions. If your Contributions were created in the course of 54 | your employment with your past or present employer(s), you represent 55 | that such employer(s) has authorized you to make your Contributions on 56 | behalf of such employer(s) or such employer (s) has waived all of 57 | their right, title or interest in or to your Contributions. 58 | 59 | ### Disclaimer. 60 | 61 | To the fullest extent permitted under applicable law, your 62 | Contributions are provided on an "as is" basis, without any warranties 63 | or conditions, express or implied, including, without limitation, any 64 | implied warranties or conditions of non-infringement, merchantability 65 | or fitness for a particular purpose. You are not required to provide 66 | support for your Contributions, except to the extent you desire to 67 | provide support. 68 | 69 | ### No Obligation. 70 | 71 | You acknowledge that the maintainers of this project are under no 72 | obligation to use or incorporate your contributions into the 73 | project. The decision to use or incorporate your contributions into 74 | the project will be made at the sole discretion of the maintainers or 75 | their authorized delegates. 76 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 NVIDIA Corporation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NGC Container Environment Modules 2 | 3 | NGC container environment modules are lightweight wrappers that make 4 | it possible to transparently use [NGC 5 | containers](https://ngc.nvidia.com) as environment modules. 6 | 7 | - Use familiar environment module commands, ensuring a minimal 8 | learning curve or change to existing workflows 9 | 10 | - Leverage all the benefits of containers, including portability and 11 | reproducibility 12 | 13 | - Take advantage of the optimized HPC and Deep Learning containers 14 | from NGC 15 | 16 | ## Synopsis 17 | 18 | ``` 19 | $ git clone https://github.com/NVIDIA/ngc-container-environment-modules 20 | $ module use $(pwd)/ngc-container-environment-modules 21 | $ module load gromacs 22 | $ gmx 23 | ``` 24 | 25 | The `gmx` command on the host is transparently mapped into the GROMACS 26 | container. If the container image is not already present, then the 27 | image will be pulled and cached on first use. Since Singularity 28 | automatically mounts `$HOME`, `/tmp`, and the current working 29 | directory into the container, the container environment modules provide 30 | nearly transparent access to NGC containers. 31 | 32 | Note: Add the path to the NGC container environment modules to 33 | `MODULEPATH` to skip the `module use` step. 34 | 35 | ## Prerequisites 36 | 37 | - [Lmod](https://lmod.readthedocs.io/en/latest/) 38 | - [Singularity](https://sylabs.io/guides/latest/user-guide/) 3.4.1 or later 39 | 40 | ## Modification 41 | 42 | The NGC container environment modules are a reference. It is expected 43 | that they will need some modification for the local environment. 44 | 45 | Some of the expected changes are: 46 | 47 | 1. The name of the Singularity module. The container environment 48 | modules try to load the `Singularity` module (note the capital 49 | 'S'). Set the `NGC_SINGULARITY_MODULE` environment variable if the 50 | local Singularity module is named differently (set it to `none` if 51 | no Singularity module is required). 52 | 53 | 2. Module conflicts. The container environment modules set module 54 | conflicts based on the commands mapped into the container. Sites 55 | may want to modify the list of conflicting modules to prevent 56 | conflicts between containers or other environment modules. 57 | 58 | 3. Container image cache. The container environment modules can either 59 | pull NGC container images as needed or use a library of 60 | pre-downloaded container images. Sites may wish to modify the 61 | modules to only support one of these modes. Sites may also want to 62 | hard-code the path to the library of pre-downloaded container 63 | images rather than using the `NGC_IMAGE_DIR` environment variable. 64 | 65 | 4. Mount additional directories into the containers. Sites may have 66 | filesystems that should be visible to all user processes, such as a 67 | `/scratch` filesystem or a set of shared datasets. In this case, 68 | set `SINGULARITY_BINDPATH`, either globally, or in the container 69 | environment modules. 70 | 71 | ## Examples 72 | 73 | ### Basic 74 | 75 | Download a [GROMACS benchmark](http://ftp.gromacs.org/pub/benchmarks/) 76 | to run this example. 77 | 78 | ``` 79 | $ module load gromacs/2020.2 80 | $ gmx mdrun -ntmpi 1 -ntomp 40 -v -pin on -nb gpu --pme gpu --resetstep 12000 -nsteps 20000 -nstlist 400 -noconfout -s topol.tpr 81 | ``` 82 | 83 | ### Interactive 84 | 85 | ``` 86 | $ module load pytorch/20.02-py3 87 | $ python3 88 | >>> import torch 89 | >>> x = torch.randn(2,3) 90 | ``` 91 | 92 | ### Jupyter notebooks 93 | 94 | ``` 95 | $ module load rapidsai 96 | $ jupyter notebook --ip 0.0.0.0 --no-browser --notebook-dir /rapids/notebooks 97 | ``` 98 | 99 | ### Multi-node MPI 100 | 101 | Download the LAMMPS [Lennard Jones 102 | fluid](https://lammps.sandia.gov/inputs/in.lj.txt) dataset to run this 103 | example. 104 | 105 | ``` 106 | $ module load lammps/15Jun2020 107 | $ mpirun -n 2 lmp -in in.lj.txt -var x 8 -var y 8 -var z 8 -k on g 2 -sf kk -pk kokkos cuda/aware on neigh full comm device binsize 2.8 108 | ``` 109 | -------------------------------------------------------------------------------- /autodock/2020.06.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The AutoDock Suite is a growing collection of methods for computational 28 | docking and virtual screening, for use in structure-based drug discovery 29 | and exploration of the basic mechanisms of biomolecular structure and 30 | function. 31 | 32 | More information 33 | ================ 34 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:autodock 35 | ]==]) 36 | 37 | whatis("Name: autodock") 38 | whatis("Version: 2020.06") 39 | whatis("Description: The AutoDock Suite is a growing collection of methods for computational docking and virtual screening, for use in structure-based drug discovery and exploration of the basic mechanisms of biomolecular structure and function. ") 40 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:autodock") 41 | 42 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 43 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 44 | if not (isloaded(singularity_module)) then 45 | load(singularity_module) 46 | end 47 | end 48 | 49 | conflict(myModuleName()) 50 | 51 | local image = "nvcr.io_hpc_autodock:2020.06.sif" 52 | local uri = "docker://nvcr.io/hpc/autodock:2020.06" 53 | local programs = {"autodock_gpu_128wi"} 54 | local entrypoint_args = "" 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Multinode support 83 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 84 | 85 | -- Programs to setup in the shell 86 | for i,program in pairs(programs) do 87 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 88 | container_launch .. " " .. program .. " $*") 89 | end 90 | -------------------------------------------------------------------------------- /chroma/2018-cuda9.0-ubuntu16.04-volta-openmpi.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The Chroma package provides a toolbox and executables to carry out calculation 28 | of lattice Quantum Chromodynamics (LQCD). It is built on top of the QDP++ (QCD 29 | Data Parallel Layer) which provides an abstract data parallel view of the 30 | lattice and provides lattice wide types and expressions, using expression 31 | templates, to allow straightforward encoding of LQCD equations. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:chroma 36 | ]==]) 37 | 38 | whatis("Name: chroma") 39 | whatis("Version: 2018-cuda9.0-ubuntu16.04-volta-openmpi") 40 | whatis("Description: The Chroma package provides a toolbox and executables to carry out calculation of lattice Quantum Chromodynamics (LQCD). It is built on top of the QDP++ (QCD Data Parallel Layer) which provides an abstract data parallel view of the lattice and provides lattice wide types and expressions, using expression templates, to allow straightforward encoding of LQCD equations.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:chroma") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "lammps", "milc", "qmcpack", "relion") 51 | 52 | local image = "nvcr.io_hpc_chroma:2018-cuda9.0-ubuntu16.04-volta-openmpi.sif" 53 | local uri = "docker://nvcr.io/hpc/chroma:2018-cuda9.0-ubuntu16.04-volta-openmpi" 54 | local programs = {"chroma", "hmc", "mpirun"} 55 | local entrypoint_args = "" 56 | 57 | -- Workaround for issues with Singularity environment variable handling 58 | setenv("SINGULARITYENV_LD_LIBRARY_PATH", "") 59 | 60 | -- The absolute path to Singularity is needed so it can be invoked on remote 61 | -- nodes without the corresponding module necessarily being loaded. 62 | -- Trim off the training newline. 63 | local singularity = capture("which singularity | head -c -1") 64 | 65 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 66 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 67 | 68 | if not (isFile(image)) then 69 | -- The image could not be found in the container directory 70 | LmodMessage("file not found: " .. image) 71 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 72 | image = uri 73 | 74 | -- Alternatively, this could pull the container image and 75 | -- save it in the container directory 76 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 77 | end 78 | else 79 | -- Look for the image in the Singularity cache, and if not found 80 | -- download it when "singularity run" is invoked. 81 | image = uri 82 | end 83 | 84 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 85 | 86 | -- Multinode support 87 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 88 | 89 | -- Programs to setup in the shell 90 | for i,program in pairs(programs) do 91 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 92 | container_launch .. " " .. program .. " $*") 93 | end 94 | -------------------------------------------------------------------------------- /chroma/2020.06.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The Chroma package provides a toolbox and executables to carry out calculation 28 | of lattice Quantum Chromodynamics (LQCD). It is built on top of the QDP++ (QCD 29 | Data Parallel Layer) which provides an abstract data parallel view of the 30 | lattice and provides lattice wide types and expressions, using expression 31 | templates, to allow straightforward encoding of LQCD equations. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:chroma 36 | ]==]) 37 | 38 | whatis("Name: chroma") 39 | whatis("Version: 2020.06") 40 | whatis("Description: The Chroma package provides a toolbox and executables to carry out calculation of lattice Quantum Chromodynamics (LQCD). It is built on top of the QDP++ (QCD Data Parallel Layer) which provides an abstract data parallel view of the lattice and provides lattice wide types and expressions, using expression templates, to allow straightforward encoding of LQCD equations.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:chroma") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "lammps", "milc", "qmcpack", "relion") 51 | 52 | local image = "nvcr.io_hpc_chroma:2020.06.sif" 53 | local uri = "docker://nvcr.io/hpc/chroma:2020.06" 54 | local programs = {"chroma", "hmc", "mpirun"} 55 | local entrypoint_args = "" 56 | 57 | -- Workaround for issues with Singularity environment variable handling 58 | setenv("SINGULARITYENV_LD_LIBRARY_PATH", "") 59 | 60 | -- The absolute path to Singularity is needed so it can be invoked on remote 61 | -- nodes without the corresponding module necessarily being loaded. 62 | -- Trim off the training newline. 63 | local singularity = capture("which singularity | head -c -1") 64 | 65 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 66 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 67 | 68 | if not (isFile(image)) then 69 | -- The image could not be found in the container directory 70 | LmodMessage("file not found: " .. image) 71 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 72 | image = uri 73 | 74 | -- Alternatively, this could pull the container image and 75 | -- save it in the container directory 76 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 77 | end 78 | else 79 | -- Look for the image in the Singularity cache, and if not found 80 | -- download it when "singularity run" is invoked. 81 | image = uri 82 | end 83 | 84 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 85 | 86 | -- Multinode support 87 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 88 | 89 | -- Programs to setup in the shell 90 | for i,program in pairs(programs) do 91 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 92 | container_launch .. " " .. program .. " $*") 93 | end 94 | -------------------------------------------------------------------------------- /chroma/2021.04.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The Chroma package provides a toolbox and executables to carry out calculation 28 | of lattice Quantum Chromodynamics (LQCD). It is built on top of the QDP++ (QCD 29 | Data Parallel Layer) which provides an abstract data parallel view of the 30 | lattice and provides lattice wide types and expressions, using expression 31 | templates, to allow straightforward encoding of LQCD equations. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:chroma 36 | ]==]) 37 | 38 | whatis("Name: chroma") 39 | whatis("Version: 2021.04") 40 | whatis("Description: The Chroma package provides a toolbox and executables to carry out calculation of lattice Quantum Chromodynamics (LQCD). It is built on top of the QDP++ (QCD Data Parallel Layer) which provides an abstract data parallel view of the lattice and provides lattice wide types and expressions, using expression templates, to allow straightforward encoding of LQCD equations.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:chroma") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "lammps", "milc", "qmcpack", "relion") 51 | 52 | local image = "nvcr.io_hpc_chroma:2021.04.sif" 53 | local uri = "docker://nvcr.io/hpc/chroma:2021.04" 54 | local programs = {"chroma", "hmc", "mpirun"} 55 | local entrypoint_args = "" 56 | 57 | -- Workaround for issues with Singularity environment variable handling 58 | setenv("SINGULARITYENV_LD_LIBRARY_PATH", "") 59 | 60 | -- The absolute path to Singularity is needed so it can be invoked on remote 61 | -- nodes without the corresponding module necessarily being loaded. 62 | -- Trim off the training newline. 63 | local singularity = capture("which singularity | head -c -1") 64 | 65 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 66 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 67 | 68 | if not (isFile(image)) then 69 | -- The image could not be found in the container directory 70 | LmodMessage("file not found: " .. image) 71 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 72 | image = uri 73 | 74 | -- Alternatively, this could pull the container image and 75 | -- save it in the container directory 76 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 77 | end 78 | else 79 | -- Look for the image in the Singularity cache, and if not found 80 | -- download it when "singularity run" is invoked. 81 | image = uri 82 | end 83 | 84 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 85 | 86 | -- Multinode support 87 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 88 | 89 | -- Programs to setup in the shell 90 | for i,program in pairs(programs) do 91 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 92 | container_launch .. " " .. program .. " $*") 93 | end 94 | -------------------------------------------------------------------------------- /gromacs/2018.2.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | GROMACS is a molecular dynamics application designed to simulate Newtonian 28 | equations of motion for systems with hundreds to millions of particles. GROMACS 29 | is designed to simulate biochemical molecules like proteins, lipids, and 30 | nucleic acids that have a lot of complicated bonded interactions. More info on 31 | GROMACS can be found at http://www.gromacs.org/ 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:gromacs 36 | ]==]) 37 | 38 | whatis("Name: gromacs") 39 | whatis("Version: 2018.2") 40 | whatis("Description: GROMACS is a molecular dynamics application designed to simulate Newtonian equations of motion for systems with hundreds to millions of particles. GROMACS is designed to simulate biochemical molecules like proteins, lipids, and nucleic acids that have a lot of complicated bonded interactions. More info on GROMACS can be found at http://www.gromacs.org/") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:gromacs") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName()) 51 | 52 | local image = "nvcr.io_hpc_gromacs:2018.2.sif" 53 | local uri = "docker://nvcr.io/hpc/gromacs:2018.2" 54 | local programs = {"gmx"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Programs to setup in the shell 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 86 | container_launch .. " " .. program .. " $*") 87 | end 88 | -------------------------------------------------------------------------------- /gromacs/2020.2.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | GROMACS is a molecular dynamics application designed to simulate Newtonian 28 | equations of motion for systems with hundreds to millions of particles. GROMACS 29 | is designed to simulate biochemical molecules like proteins, lipids, and 30 | nucleic acids that have a lot of complicated bonded interactions. More info on 31 | GROMACS can be found at http://www.gromacs.org/ 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:gromacs 36 | ]==]) 37 | 38 | whatis("Name: gromacs") 39 | whatis("Version: 2020.2") 40 | whatis("Description: GROMACS is a molecular dynamics application designed to simulate Newtonian equations of motion for systems with hundreds to millions of particles. GROMACS is designed to simulate biochemical molecules like proteins, lipids, and nucleic acids that have a lot of complicated bonded interactions. More info on GROMACS can be found at http://www.gromacs.org/") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:gromacs") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName()) 51 | 52 | local image = "nvcr.io_hpc_gromacs:2020.2.sif" 53 | local uri = "docker://nvcr.io/hpc/gromacs:2020.2" 54 | local programs = {"gmx"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Programs to setup in the shell 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 86 | container_launch .. " " .. program .. " $*") 87 | end 88 | -------------------------------------------------------------------------------- /gromacs/2021.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | GROMACS is a molecular dynamics application designed to simulate Newtonian 28 | equations of motion for systems with hundreds to millions of particles. GROMACS 29 | is designed to simulate biochemical molecules like proteins, lipids, and 30 | nucleic acids that have a lot of complicated bonded interactions. More info on 31 | GROMACS can be found at http://www.gromacs.org/ 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:gromacs 36 | ]==]) 37 | 38 | whatis("Name: gromacs") 39 | whatis("Version: 2021") 40 | whatis("Description: GROMACS is a molecular dynamics application designed to simulate Newtonian equations of motion for systems with hundreds to millions of particles. GROMACS is designed to simulate biochemical molecules like proteins, lipids, and nucleic acids that have a lot of complicated bonded interactions. More info on GROMACS can be found at http://www.gromacs.org/") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:gromacs") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName()) 51 | 52 | local image = "nvcr.io_hpc_gromacs:2021.sif" 53 | local uri = "docker://nvcr.io/hpc/gromacs:2021" 54 | local programs = {"gmx"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Programs to setup in the shell 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 86 | container_launch .. " " .. program .. " $*") 87 | end 88 | -------------------------------------------------------------------------------- /julia/v1.5.0.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The Julia programming language is a flexible dynamic language, appropriate 28 | for scientific and numerical computing, with performance comparable to 29 | traditional statically-typed languages. 30 | 31 | More information 32 | ================ 33 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:julia 34 | ]==]) 35 | 36 | whatis("Name: julia") 37 | whatis("Version: v1.5.0") 38 | whatis("Description: The Julia programming language is a flexible dynamic language, appropriate for scientific and numerical computing, with performance comparable to traditional statically-typed languages.") 39 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:julia") 40 | 41 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 42 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 43 | if not (isloaded(singularity_module)) then 44 | load(singularity_module) 45 | end 46 | end 47 | 48 | conflict(myModuleName()) 49 | 50 | local image = "nvcr.io_hpc_julia:v1.5.0.sif" 51 | local uri = "docker://nvcr.io/hpc/julia:v1.5.0" 52 | local programs = {"julia"} 53 | local entrypoint_args = "" 54 | 55 | -- The absolute path to Singularity is needed so it can be invoked on remote 56 | -- nodes without the corresponding module necessarily being loaded. 57 | -- Trim off the training newline. 58 | local singularity = capture("which singularity | head -c -1") 59 | 60 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 61 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 62 | 63 | if not (isFile(image)) then 64 | -- The image could not be found in the container directory 65 | LmodMessage("file not found: " .. image) 66 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 67 | image = uri 68 | 69 | -- Alternatively, this could pull the container image and 70 | -- save it in the container directory 71 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 72 | end 73 | else 74 | -- Look for the image in the Singularity cache, and if not found 75 | -- download it when "singularity run" is invoked. 76 | image = uri 77 | end 78 | 79 | -- /data must exist and be writable inside the container 80 | local container_launch = singularity .. " run --nv -B $HOME/.julia:/data " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | -- julia is the container entrypoint 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " \"$@\"", 86 | container_launch .. " $*") 87 | end 88 | -------------------------------------------------------------------------------- /julia/v2.4.2.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The Julia programming language is a flexible dynamic language, appropriate 28 | for scientific and numerical computing, with performance comparable to 29 | traditional statically-typed languages. 30 | 31 | More information 32 | ================ 33 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:julia 34 | ]==]) 35 | 36 | whatis("Name: julia") 37 | whatis("Version: v2.4.2") 38 | whatis("Description: The Julia programming language is a flexible dynamic language, appropriate for scientific and numerical computing, with performance comparable to traditional statically-typed languages.") 39 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:julia") 40 | 41 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 42 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 43 | if not (isloaded(singularity_module)) then 44 | load(singularity_module) 45 | end 46 | end 47 | 48 | conflict(myModuleName()) 49 | 50 | local image = "nvcr.io_hpc_julia:v2.4.2.sif" 51 | local uri = "docker://nvcr.io/hpc/julia:v2.4.2" 52 | local programs = {"julia"} 53 | local entrypoint_args = "" 54 | 55 | -- The absolute path to Singularity is needed so it can be invoked on remote 56 | -- nodes without the corresponding module necessarily being loaded. 57 | -- Trim off the training newline. 58 | local singularity = capture("which singularity | head -c -1") 59 | 60 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 61 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 62 | 63 | if not (isFile(image)) then 64 | -- The image could not be found in the container directory 65 | LmodMessage("file not found: " .. image) 66 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 67 | image = uri 68 | 69 | -- Alternatively, this could pull the container image and 70 | -- save it in the container directory 71 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 72 | end 73 | else 74 | -- Look for the image in the Singularity cache, and if not found 75 | -- download it when "singularity run" is invoked. 76 | image = uri 77 | end 78 | 79 | -- /data must exist and be writable inside the container 80 | local container_launch = singularity .. " run --nv -B $HOME/.julia:/data " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | -- julia is the container entrypoint 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " \"$@\"", 86 | container_launch .. " $*") 87 | end 88 | -------------------------------------------------------------------------------- /lammps/15Jun2020.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a 28 | software application designed for molecular dynamics simulations. It has 29 | potentials for solid-state materials (metals, semiconductor), soft matter 30 | (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be 31 | used to model atoms or, more generically, as a parallel particle simulator at 32 | the atomic, meso, or continuum scale. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:lammps 37 | ]==]) 38 | 39 | whatis("Name: lammps") 40 | whatis("Version: 15Jun2020") 41 | whatis("Description: Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a software application designed for molecular dynamics simulations. It has potentials for solid-state materials (metals, semiconductor), soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:lammps") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "openmpi", "chroma", "milc", "qmcpack", "relion") 52 | 53 | local image = "nvcr.io_hpc_lammps:15Jun2020.sif" 54 | local uri = "docker://nvcr.io/hpc/lammps:15Jun2020" 55 | local programs = {"lmp", "mpirun"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Multinode support 85 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 86 | 87 | -- Programs to setup in the shell 88 | for i,program in pairs(programs) do 89 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 90 | container_launch .. " " .. program .. " $*") 91 | end 92 | -------------------------------------------------------------------------------- /lammps/24Oct2018.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a 28 | software application designed for molecular dynamics simulations. It has 29 | potentials for solid-state materials (metals, semiconductor), soft matter 30 | (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be 31 | used to model atoms or, more generically, as a parallel particle simulator at 32 | the atomic, meso, or continuum scale. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:lammps 37 | ]==]) 38 | 39 | whatis("Name: lammps") 40 | whatis("Version: 24Oct2018") 41 | whatis("Description: Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a software application designed for molecular dynamics simulations. It has potentials for solid-state materials (metals, semiconductor), soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:lammps") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "openmpi", "chroma", "milc", "qmcpack", "relion") 52 | 53 | local image = "nvcr.io_hpc_lammps:24Oct2018.sif" 54 | local uri = "docker://nvcr.io/hpc/lammps:24Oct2018" 55 | local programs = {"lmp", "mpirun"} 56 | -- needed to work around a bug in the lammps container entrypoint 57 | local entrypoint_args = "--gpu_default_driver=0.0" 58 | 59 | -- The absolute path to Singularity is needed so it can be invoked on remote 60 | -- nodes without the corresponding module necessarily being loaded. 61 | -- Trim off the training newline. 62 | local singularity = capture("which singularity | head -c -1") 63 | 64 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 65 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 66 | 67 | if not (isFile(image)) then 68 | -- The image could not be found in the container directory 69 | LmodMessage("file not found: " .. image) 70 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 71 | image = uri 72 | 73 | -- Alternatively, this could pull the container image and 74 | -- save it in the container directory 75 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 76 | end 77 | else 78 | -- Look for the image in the Singularity cache, and if not found 79 | -- download it when "singularity run" is invoked. 80 | image = uri 81 | end 82 | 83 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 84 | 85 | -- Multinode support 86 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 87 | 88 | -- Programs to setup in the shell 89 | for i,program in pairs(programs) do 90 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 91 | container_launch .. " " .. program .. " $*") 92 | end 93 | -------------------------------------------------------------------------------- /lammps/29Oct2020.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a 28 | software application designed for molecular dynamics simulations. It has 29 | potentials for solid-state materials (metals, semiconductor), soft matter 30 | (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be 31 | used to model atoms or, more generically, as a parallel particle simulator at 32 | the atomic, meso, or continuum scale. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:lammps 37 | ]==]) 38 | 39 | whatis("Name: lammps") 40 | whatis("Version: 29Oct2020") 41 | whatis("Description: Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) is a software application designed for molecular dynamics simulations. It has potentials for solid-state materials (metals, semiconductor), soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:lammps") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "openmpi", "chroma", "milc", "qmcpack", "relion") 52 | 53 | local image = "nvcr.io_hpc_lammps:29Oct2020.sif" 54 | local uri = "docker://nvcr.io/hpc/lammps:29Oct2020" 55 | local programs = {"lmp", "mpirun"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Multinode support 85 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 86 | 87 | -- Programs to setup in the shell 88 | for i,program in pairs(programs) do 89 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 90 | container_launch .. " " .. program .. " $*") 91 | end 92 | -------------------------------------------------------------------------------- /milc/quda0.8-patch4Oct2017.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | MILC represents part of a set of codes written by the MIMD Lattice Computation 28 | (MILC) collaboration used to study quantum chromodynamics (QCD), the theory of 29 | the strong interactions of subatomic physics. It performs simulations of four 30 | dimensional SU(3) lattice gauge theory on MIMD parallel machines. "Strong 31 | interactions" are responsible for binding quarks into protons and neutrons and 32 | holding them all together in the atomic nucleus. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:milc 37 | ]==]) 38 | 39 | whatis("Name: milc") 40 | whatis("Version: quda0.8-patch4Oct2017") 41 | whatis("Description: MILC represents part of a set of codes written by the MIMD Lattice Computation (MILC) collaboration used to study quantum chromodynamics (QCD), the theory of the strong interactions of subatomic physics. It performs simulations of four dimensional SU(3) lattice gauge theory on MIMD parallel machines. \"Strong interactions\" are responsible for binding quarks into protons and neutrons and holding them all together in the atomic nucleus.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:milc") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "qmcpack", "relion") 52 | 53 | local image = "nvcr.io_hpc_milc:quda0.8-patch4Oct2017.sif" 54 | local uri = "docker://nvcr.io/hpc/milc:quda0.8-patch4Oct2017" 55 | local programs = {"mpirun", "su3_rhmd_hisq"} 56 | -- needed to work around a bug in the container entrypoint 57 | local entrypoint_args = "--gpu_default_driver=0.0" 58 | 59 | -- The absolute path to Singularity is needed so it can be invoked on remote 60 | -- nodes without the corresponding module necessarily being loaded. 61 | -- Trim off the training newline. 62 | local singularity = capture("which singularity | head -c -1") 63 | 64 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 65 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 66 | 67 | if not (isFile(image)) then 68 | -- The image could not be found in the container directory 69 | LmodMessage("file not found: " .. image) 70 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 71 | image = uri 72 | 73 | -- Alternatively, this could pull the container image and 74 | -- save it in the container directory 75 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 76 | end 77 | else 78 | -- Look for the image in the Singularity cache, and if not found 79 | -- download it when "singularity run" is invoked. 80 | image = uri 81 | end 82 | 83 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 84 | 85 | -- Multinode support 86 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 87 | 88 | -- Programs to setup in the shell 89 | for i,program in pairs(programs) do 90 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 91 | container_launch .. " " .. program .. " $*") 92 | end 93 | -------------------------------------------------------------------------------- /namd/2.13-multinode.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | NAMD is a parallel molecular dynamics code designed for high-performance 28 | simulation of large biomolecular systems. NAMD uses the popular molecular 29 | graphics program VMD for simulation setup and trajectory analysis, but is also 30 | file-compatible with AMBER, CHARMM, and X-PLOR. 31 | 32 | More information 33 | ================ 34 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:namd 35 | ]==]) 36 | 37 | whatis("Name: NAMD") 38 | whatis("Version: 2.13") 39 | whatis("Description: NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. NAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR.") 40 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:namd") 41 | 42 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 43 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 44 | if not (isloaded(singularity_module)) then 45 | load(singularity_module) 46 | end 47 | end 48 | 49 | conflict(myModuleName()) 50 | 51 | local image = "nvcr.io_hpc_namd:2.13-multinode.sif" 52 | local uri = "docker://nvcr.io/hpc/namd:2.13-multinode" 53 | local programs = {"charmrun", "flipbinpdb", "flipdcd", "namd2", "psfgen", 54 | "sortreplicas"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR")) then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Programs to setup in the shell 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 86 | container_launch .. " " .. program .. " $*") 87 | end 88 | 89 | -------------------------------------------------------------------------------- /namd/2.13-singlenode.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | NAMD is a parallel molecular dynamics code designed for high-performance 28 | simulation of large biomolecular systems. NAMD uses the popular molecular 29 | graphics program VMD for simulation setup and trajectory analysis, but is also 30 | file-compatible with AMBER, CHARMM, and X-PLOR. 31 | 32 | More information 33 | ================ 34 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:namd 35 | ]==]) 36 | 37 | whatis("Name: NAMD") 38 | whatis("Version: 2.13") 39 | whatis("Description: NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. NAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR.") 40 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:namd") 41 | 42 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 43 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 44 | if not (isloaded(singularity_module)) then 45 | load(singularity_module) 46 | end 47 | end 48 | 49 | conflict(myModuleName()) 50 | 51 | local image = "nvcr.io_hpc_namd:2.13-singlenode.sif" 52 | local uri = "docker://nvcr.io/hpc/namd:2.13-singlenode" 53 | local programs = {"charmrun", "flipbinpdb", "flipdcd", "namd2", "psfgen", 54 | "sortreplicas"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR")) then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Programs to setup in the shell 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 86 | container_launch .. " " .. program .. " $*") 87 | end 88 | 89 | -------------------------------------------------------------------------------- /namd/3.0-alpha3-singlenode.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | NAMD is a parallel molecular dynamics code designed for high-performance 28 | simulation of large biomolecular systems. NAMD uses the popular molecular 29 | graphics program VMD for simulation setup and trajectory analysis, but is also 30 | file-compatible with AMBER, CHARMM, and X-PLOR. 31 | 32 | More information 33 | ================ 34 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:namd 35 | ]==]) 36 | 37 | whatis("Name: NAMD") 38 | whatis("Version: 3.0-alpha3") 39 | whatis("Description: NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. NAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR.") 40 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:namd") 41 | 42 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 43 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 44 | if not (isloaded(singularity_module)) then 45 | load(singularity_module) 46 | end 47 | end 48 | 49 | conflict(myModuleName()) 50 | 51 | local image = "nvcr.io_hpc_namd:3.0-alpha3-singlenode.sif" 52 | local uri = "docker://nvcr.io/hpc/namd:3.0-alpha3-singlenode" 53 | local programs = {"charmrun", "flipbinpdb", "flipdcd", "namd3", "psfgen", 54 | "sortreplicas", "vmd"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR")) then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Programs to setup in the shell 84 | for i,program in pairs(programs) do 85 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 86 | container_launch .. " " .. program .. " $*") 87 | end 88 | 89 | -------------------------------------------------------------------------------- /nvhpc/20.11.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools 28 | essential to maximizing developer productivity and the performance and 29 | portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran 30 | compilers support GPU acceleration of HPC modeling and simulation applications 31 | with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated 32 | math libraries maximize performance on common HPC algorithms, and optimized 33 | communications libraries enable standards-based multi-GPU and scalable systems 34 | programming. Performance profiling and debugging tools simplify porting and 35 | optimization of HPC applications, and containerization tools enable easy 36 | deployment on-premises or in the cloud. 37 | 38 | More information 39 | ================ 40 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc 41 | ]==]) 42 | 43 | whatis("Name: NVIDIA HPC SDK") 44 | whatis("Version: 20.11") 45 | whatis("The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools essential to maximizing developer productivity and the performance and portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran compilers support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming. Performance profiling and debugging tools simplify porting and optimization of HPC applications, and containerization tools enable easy deployment on-premises or in the cloud.") 46 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc") 47 | 48 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 49 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 50 | if not (isloaded(singularity_module)) then 51 | load(singularity_module) 52 | end 53 | end 54 | 55 | conflict(myModuleName(), "nvhpc") 56 | 57 | local image = "nvcr.io_nvidia_nvhpc:20.11-devel-cuda_multi-ubuntu20.04.sif" 58 | local uri = "docker://nvcr.io/nvidia/nvhpc:20.11-devel-cuda_multi-ubuntu20.04" 59 | local programs = {"nvc", "nvc++", "nvfortran", "nvcc", 60 | "pgcc", "pgc++", "pgfortran", 61 | "cuda-gdb", "ncu", "nv-nsight-cu-cli", "nvprof", 62 | "nsight-sys", "nsys"} 63 | local entrypoint_args = "" 64 | 65 | -- The absolute path to Singularity is needed so it can be invoked on remote 66 | -- nodes without the corresponding module necessarily being loaded. 67 | -- Trim off the training newline. 68 | local singularity = capture("which singularity | head -c -1") 69 | 70 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 71 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 72 | 73 | if not (isFile(image)) then 74 | -- The image could not be found in the container directory 75 | LmodMessage("file not found: " .. image) 76 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 77 | image = uri 78 | 79 | -- Alternatively, this could pull the container image and 80 | -- save it in the container directory 81 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 82 | end 83 | else 84 | -- Look for the image in the Singularity cache, and if not found 85 | -- download it when "singularity run" is invoked. 86 | image = uri 87 | end 88 | 89 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 90 | 91 | -- Programs to setup in the shell 92 | for i,program in pairs(programs) do 93 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 94 | container_launch .. " " .. program .. " $*") 95 | end 96 | -------------------------------------------------------------------------------- /nvhpc/20.7.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools 28 | essential to maximizing developer productivity and the performance and 29 | portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran 30 | compilers support GPU acceleration of HPC modeling and simulation applications 31 | with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated 32 | math libraries maximize performance on common HPC algorithms, and optimized 33 | communications libraries enable standards-based multi-GPU and scalable systems 34 | programming. Performance profiling and debugging tools simplify porting and 35 | optimization of HPC applications, and containerization tools enable easy 36 | deployment on-premises or in the cloud. 37 | 38 | More information 39 | ================ 40 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc 41 | ]==]) 42 | 43 | whatis("Name: NVIDIA HPC SDK") 44 | whatis("Version: 20.7") 45 | whatis("The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools essential to maximizing developer productivity and the performance and portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran compilers support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming. Performance profiling and debugging tools simplify porting and optimization of HPC applications, and containerization tools enable easy deployment on-premises or in the cloud.") 46 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc") 47 | 48 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 49 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 50 | if not (isloaded(singularity_module)) then 51 | load(singularity_module) 52 | end 53 | end 54 | 55 | conflict(myModuleName(), "nvhpc") 56 | 57 | local image = "nvcr.io_nvidia_nvhpc:20.7-devel-centos7.sif" 58 | local uri = "docker://nvcr.io/nvidia/nvhpc:20.7-devel-centos7" 59 | local programs = {"nvc", "nvc++", "nvfortran", "nvcc", 60 | "pgcc", "pgc++", "pgfortran", 61 | "cuda-gdb", "ncu", "nv-nsight-cu-cli", "nvprof", 62 | "nsight-sys", "nsys"} 63 | local entrypoint_args = "" 64 | 65 | -- The absolute path to Singularity is needed so it can be invoked on remote 66 | -- nodes without the corresponding module necessarily being loaded. 67 | -- Trim off the training newline. 68 | local singularity = capture("which singularity | head -c -1") 69 | 70 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 71 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 72 | 73 | if not (isFile(image)) then 74 | -- The image could not be found in the container directory 75 | LmodMessage("file not found: " .. image) 76 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 77 | image = uri 78 | 79 | -- Alternatively, this could pull the container image and 80 | -- save it in the container directory 81 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 82 | end 83 | else 84 | -- Look for the image in the Singularity cache, and if not found 85 | -- download it when "singularity run" is invoked. 86 | image = uri 87 | end 88 | 89 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 90 | 91 | -- Programs to setup in the shell 92 | for i,program in pairs(programs) do 93 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 94 | container_launch .. " " .. program .. " $*") 95 | end 96 | -------------------------------------------------------------------------------- /nvhpc/20.9.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools 28 | essential to maximizing developer productivity and the performance and 29 | portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran 30 | compilers support GPU acceleration of HPC modeling and simulation applications 31 | with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated 32 | math libraries maximize performance on common HPC algorithms, and optimized 33 | communications libraries enable standards-based multi-GPU and scalable systems 34 | programming. Performance profiling and debugging tools simplify porting and 35 | optimization of HPC applications, and containerization tools enable easy 36 | deployment on-premises or in the cloud. 37 | 38 | More information 39 | ================ 40 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc 41 | ]==]) 42 | 43 | whatis("Name: NVIDIA HPC SDK") 44 | whatis("Version: 20.9") 45 | whatis("The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools essential to maximizing developer productivity and the performance and portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran compilers support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming. Performance profiling and debugging tools simplify porting and optimization of HPC applications, and containerization tools enable easy deployment on-premises or in the cloud.") 46 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc") 47 | 48 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 49 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 50 | if not (isloaded(singularity_module)) then 51 | load(singularity_module) 52 | end 53 | end 54 | 55 | conflict(myModuleName(), "nvhpc") 56 | 57 | local image = "nvcr.io_nvidia_nvhpc:20.9-devel-centos7.sif" 58 | local uri = "docker://nvcr.io/nvidia/nvhpc:20.9-devel-centos7" 59 | local programs = {"nvc", "nvc++", "nvfortran", "nvcc", 60 | "pgcc", "pgc++", "pgfortran", 61 | "cuda-gdb", "ncu", "nv-nsight-cu-cli", "nvprof", 62 | "nsight-sys", "nsys"} 63 | local entrypoint_args = "" 64 | 65 | -- The absolute path to Singularity is needed so it can be invoked on remote 66 | -- nodes without the corresponding module necessarily being loaded. 67 | -- Trim off the training newline. 68 | local singularity = capture("which singularity | head -c -1") 69 | 70 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 71 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 72 | 73 | if not (isFile(image)) then 74 | -- The image could not be found in the container directory 75 | LmodMessage("file not found: " .. image) 76 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 77 | image = uri 78 | 79 | -- Alternatively, this could pull the container image and 80 | -- save it in the container directory 81 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 82 | end 83 | else 84 | -- Look for the image in the Singularity cache, and if not found 85 | -- download it when "singularity run" is invoked. 86 | image = uri 87 | end 88 | 89 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 90 | 91 | -- Programs to setup in the shell 92 | for i,program in pairs(programs) do 93 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 94 | container_launch .. " " .. program .. " $*") 95 | end 96 | -------------------------------------------------------------------------------- /nvhpc/21.5.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools 28 | essential to maximizing developer productivity and the performance and 29 | portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran 30 | compilers support GPU acceleration of HPC modeling and simulation applications 31 | with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated 32 | math libraries maximize performance on common HPC algorithms, and optimized 33 | communications libraries enable standards-based multi-GPU and scalable systems 34 | programming. Performance profiling and debugging tools simplify porting and 35 | optimization of HPC applications, and containerization tools enable easy 36 | deployment on-premises or in the cloud. 37 | 38 | More information 39 | ================ 40 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc 41 | ]==]) 42 | 43 | whatis("Name: NVIDIA HPC SDK") 44 | whatis("Version: 21.5") 45 | whatis("The NVIDIA HPC SDK is a comprehensive suite of compilers, libraries and tools essential to maximizing developer productivity and the performance and portability of HPC applications. The NVIDIA HPC SDK C, C++, and Fortran compilers support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC directives, and CUDA. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming. Performance profiling and debugging tools simplify porting and optimization of HPC applications, and containerization tools enable easy deployment on-premises or in the cloud.") 46 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:nvhpc") 47 | 48 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 49 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 50 | if not (isloaded(singularity_module)) then 51 | load(singularity_module) 52 | end 53 | end 54 | 55 | conflict(myModuleName(), "nvhpc") 56 | 57 | local image = "nvcr.io_nvidia_nvhpc:21.5-devel-cuda_multi-ubuntu20.04.sif" 58 | local uri = "docker://nvcr.io/nvidia/nvhpc:21.5-devel-cuda_multi-ubuntu20.04" 59 | local programs = {"nvc", "nvc++", "nvfortran", "nvcc", 60 | "pgcc", "pgc++", "pgfortran", 61 | "cuda-gdb", "ncu", "nv-nsight-cu-cli", "nvprof", 62 | "nsight-sys", "nsys"} 63 | local entrypoint_args = "" 64 | 65 | -- The absolute path to Singularity is needed so it can be invoked on remote 66 | -- nodes without the corresponding module necessarily being loaded. 67 | -- Trim off the training newline. 68 | local singularity = capture("which singularity | head -c -1") 69 | 70 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 71 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 72 | 73 | if not (isFile(image)) then 74 | -- The image could not be found in the container directory 75 | LmodMessage("file not found: " .. image) 76 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 77 | image = uri 78 | 79 | -- Alternatively, this could pull the container image and 80 | -- save it in the container directory 81 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 82 | end 83 | else 84 | -- Look for the image in the Singularity cache, and if not found 85 | -- download it when "singularity run" is invoked. 86 | image = uri 87 | end 88 | 89 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 90 | 91 | -- Programs to setup in the shell 92 | for i,program in pairs(programs) do 93 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 94 | container_launch .. " " .. program .. " $*") 95 | end 96 | -------------------------------------------------------------------------------- /pytorch/20.02-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | PyTorch is a GPU accelerated tensor computational framework with a Python front 28 | end. Functionality can be easily extended with common Python libraries such as 29 | NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based 30 | system at both a functional and neural network layer level. This functionality 31 | brings a high level of flexibility and speed as a deep learning framework and 32 | provides accelerated NumPy-like functionality. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.02-py3") 41 | whatis("Description: PyTorch is a GPU accelerated tensor computational framework with a Python front end. Functionality can be easily extended with common Python libraries such as NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based system at both a functional and neural network layer level. This functionality brings a high level of flexibility and speed as a deep learning framework and provides accelerated NumPy-like functionality.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "tensorflow") 52 | 53 | local image = "nvcr.io_nvidia_pytorch:20.02-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/pytorch:20.02-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /pytorch/20.03-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | PyTorch is a GPU accelerated tensor computational framework with a Python front 28 | end. Functionality can be easily extended with common Python libraries such as 29 | NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based 30 | system at both a functional and neural network layer level. This functionality 31 | brings a high level of flexibility and speed as a deep learning framework and 32 | provides accelerated NumPy-like functionality. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.03-py3") 41 | whatis("Description: PyTorch is a GPU accelerated tensor computational framework with a Python front end. Functionality can be easily extended with common Python libraries such as NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based system at both a functional and neural network layer level. This functionality brings a high level of flexibility and speed as a deep learning framework and provides accelerated NumPy-like functionality.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "tensorflow") 52 | 53 | local image = "nvcr.io_nvidia_pytorch:20.03-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/pytorch:20.03-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /pytorch/20.06-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | PyTorch is a GPU accelerated tensor computational framework with a Python front 28 | end. Functionality can be easily extended with common Python libraries such as 29 | NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based 30 | system at both a functional and neural network layer level. This functionality 31 | brings a high level of flexibility and speed as a deep learning framework and 32 | provides accelerated NumPy-like functionality. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.06-py3") 41 | whatis("Description: PyTorch is a GPU accelerated tensor computational framework with a Python front end. Functionality can be easily extended with common Python libraries such as NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based system at both a functional and neural network layer level. This functionality brings a high level of flexibility and speed as a deep learning framework and provides accelerated NumPy-like functionality.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "tensorflow") 52 | 53 | local image = "nvcr.io_nvidia_pytorch:20.06-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/pytorch:20.06-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /pytorch/20.11-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | PyTorch is a GPU accelerated tensor computational framework with a Python front 28 | end. Functionality can be easily extended with common Python libraries such as 29 | NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based 30 | system at both a functional and neural network layer level. This functionality 31 | brings a high level of flexibility and speed as a deep learning framework and 32 | provides accelerated NumPy-like functionality. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.11-py3") 41 | whatis("Description: PyTorch is a GPU accelerated tensor computational framework with a Python front end. Functionality can be easily extended with common Python libraries such as NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based system at both a functional and neural network layer level. This functionality brings a high level of flexibility and speed as a deep learning framework and provides accelerated NumPy-like functionality.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "tensorflow") 52 | 53 | local image = "nvcr.io_nvidia_pytorch:20.11-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/pytorch:20.11-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /pytorch/20.12-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | PyTorch is a GPU accelerated tensor computational framework with a Python front 28 | end. Functionality can be easily extended with common Python libraries such as 29 | NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based 30 | system at both a functional and neural network layer level. This functionality 31 | brings a high level of flexibility and speed as a deep learning framework and 32 | provides accelerated NumPy-like functionality. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.12-py3") 41 | whatis("Description: PyTorch is a GPU accelerated tensor computational framework with a Python front end. Functionality can be easily extended with common Python libraries such as NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based system at both a functional and neural network layer level. This functionality brings a high level of flexibility and speed as a deep learning framework and provides accelerated NumPy-like functionality.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "tensorflow") 52 | 53 | local image = "nvcr.io_nvidia_pytorch:20.12-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/pytorch:20.12-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /pytorch/21.06-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | PyTorch is a GPU accelerated tensor computational framework with a Python front 28 | end. Functionality can be easily extended with common Python libraries such as 29 | NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based 30 | system at both a functional and neural network layer level. This functionality 31 | brings a high level of flexibility and speed as a deep learning framework and 32 | provides accelerated NumPy-like functionality. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 21.06-py3") 41 | whatis("Description: PyTorch is a GPU accelerated tensor computational framework with a Python front end. Functionality can be easily extended with common Python libraries such as NumPy, SciPy, and Cython. Automatic differentiation is done with a tape-based system at both a functional and neural network layer level. This functionality brings a high level of flexibility and speed as a deep learning framework and provides accelerated NumPy-like functionality.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:pytorch") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "tensorflow") 52 | 53 | local image = "nvcr.io_nvidia_pytorch:21.06-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/pytorch:21.06-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /quantum_espresso/v6.6a1.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | Quantum ESPRESSO is an integrated suite of Open-Source computer codes for 28 | electronic-structure calculations and materials modeling at the nanoscale 29 | based on density-functional theory, plane waves, and pseudopotentials. 30 | 31 | More information 32 | ================ 33 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:quantum_espresso 34 | ]==]) 35 | 36 | whatis("Name: quantum_espresso") 37 | whatis("Version: v6.6a1") 38 | whatis("Description: Quantum ESPRESSO is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale based on density-functional theory, plane waves, and pseudopotentials.") 39 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:quantum_espresso") 40 | 41 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 42 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 43 | if not (isloaded(singularity_module)) then 44 | load(singularity_module) 45 | end 46 | end 47 | 48 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "milc", "qmcpack", "relion") 49 | 50 | local image = "nvcr.io_hpc_quantum_espresso:v6.6a1.sif" 51 | local uri = "docker://nvcr.io/hpc/quantum_espresso:v6.6a1" 52 | local programs = {"mpirun", "pw.x"} 53 | local entrypoint_args = "" 54 | 55 | -- The absolute path to Singularity is needed so it can be invoked on remote 56 | -- nodes without the corresponding module necessarily being loaded. 57 | -- Trim off the training newline. 58 | local singularity = capture("which singularity | head -c -1") 59 | 60 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 61 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 62 | 63 | if not (isFile(image)) then 64 | -- The image could not be found in the container directory 65 | LmodMessage("file not found: " .. image) 66 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 67 | image = uri 68 | 69 | -- Alternatively, this could pull the container image and 70 | -- save it in the container directory 71 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 72 | end 73 | else 74 | -- Look for the image in the Singularity cache, and if not found 75 | -- download it when "singularity run" is invoked. 76 | image = uri 77 | end 78 | 79 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 80 | 81 | -- Multinode support 82 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /quantum_espresso/v6.7.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | Quantum ESPRESSO is an integrated suite of Open-Source computer codes for 28 | electronic-structure calculations and materials modeling at the nanoscale 29 | based on density-functional theory, plane waves, and pseudopotentials. 30 | 31 | More information 32 | ================ 33 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:quantum_espresso 34 | ]==]) 35 | 36 | whatis("Name: quantum_espresso") 37 | whatis("Version: v6.7") 38 | whatis("Description: Quantum ESPRESSO is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale based on density-functional theory, plane waves, and pseudopotentials.") 39 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:quantum_espresso") 40 | 41 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 42 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 43 | if not (isloaded(singularity_module)) then 44 | load(singularity_module) 45 | end 46 | end 47 | 48 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "milc", "qmcpack", "relion") 49 | 50 | local image = "nvcr.io_hpc_quantum_espresso:v6.7.sif" 51 | local uri = "docker://nvcr.io/hpc/quantum_espresso:v6.7" 52 | local programs = {"mpirun", "pw.x"} 53 | local entrypoint_args = "" 54 | 55 | -- The absolute path to Singularity is needed so it can be invoked on remote 56 | -- nodes without the corresponding module necessarily being loaded. 57 | -- Trim off the training newline. 58 | local singularity = capture("which singularity | head -c -1") 59 | 60 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 61 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 62 | 63 | if not (isFile(image)) then 64 | -- The image could not be found in the container directory 65 | LmodMessage("file not found: " .. image) 66 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 67 | image = uri 68 | 69 | -- Alternatively, this could pull the container image and 70 | -- save it in the container directory 71 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 72 | end 73 | else 74 | -- Look for the image in the Singularity cache, and if not found 75 | -- download it when "singularity run" is invoked. 76 | image = uri 77 | end 78 | 79 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 80 | 81 | -- Multinode support 82 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /rapidsai/0.12.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 0.12") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:0.12-cuda10.1-runtime-ubuntu18.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:0.12-cuda10.1-runtime-ubuntu18.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /rapidsai/0.13.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 0.13") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:0.13-cuda10.1-runtime-ubuntu18.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:0.13-cuda10.1-runtime-ubuntu18.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /rapidsai/0.14.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 0.14") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:0.14-cuda10.1-runtime-ubuntu18.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:0.14-cuda10.1-runtime-ubuntu18.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /rapidsai/0.15.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 0.15") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:0.15-cuda10.1-runtime-ubuntu18.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:0.15-cuda10.1-runtime-ubuntu18.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /rapidsai/0.16.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 0.16") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:0.16-cuda10.1-runtime-ubuntu18.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:0.16-cuda10.1-runtime-ubuntu18.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /rapidsai/0.17.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 0.17") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:0.17-cuda10.1-runtime-ubuntu18.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:0.17-cuda10.1-runtime-ubuntu18.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /rapidsai/21.06.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces. 28 | 29 | More information 30 | ================ 31 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai 32 | ]==]) 33 | 34 | whatis("Name: rapidsai") 35 | whatis("Version: 21.06") 36 | whatis("Description: The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.") 37 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia/rapidsai:rapidsai") 38 | 39 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 40 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 41 | if not (isloaded(singularity_module)) then 42 | load(singularity_module) 43 | end 44 | end 45 | 46 | conflict(myModuleName(), "pytorch", "tensorflow") 47 | 48 | local image = "nvcr.io_nvidia_rapidsai_rapidsai:21.06-cuda11.2-runtime-ubuntu20.04.sif" 49 | local uri = "docker://nvcr.io/nvidia/rapidsai/rapidsai:21.06-cuda11.2-runtime-ubuntu20.04" 50 | local programs = {"ipython3", "ipython3", "jupyter", "python", "python3", 51 | "python3.6"} 52 | local entrypoint_args = "" 53 | 54 | setenv("TINI_SUBREAPER", "1") 55 | 56 | -- The absolute path to Singularity is needed so it can be invoked on remote 57 | -- nodes without the corresponding module necessarily being loaded. 58 | -- Trim off the training newline. 59 | local singularity = capture("which singularity | head -c -1") 60 | 61 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 62 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 63 | 64 | if not (isFile(image)) then 65 | -- The image could not be found in the container directory 66 | LmodMessage("file not found: " .. image) 67 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 68 | image = uri 69 | 70 | -- Alternatively, this could pull the container image and 71 | -- save it in the container directory 72 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 73 | end 74 | else 75 | -- Look for the image in the Singularity cache, and if not found 76 | -- download it when "singularity run" is invoked. 77 | image = uri 78 | end 79 | 80 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 81 | 82 | -- Programs to setup in the shell 83 | for i,program in pairs(programs) do 84 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 85 | container_launch .. " " .. program .. " $*") 86 | end 87 | -------------------------------------------------------------------------------- /relion/2.1.b1.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | RELION (for REgularized LIkelihood OptimizatioN) implements an empirical 28 | Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). 29 | Specifically it provides methods of refinement of singular or multiple 3D 30 | reconstructions as well as 2D class averages. RELION is an important tool in 31 | the study of living cells. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:relion 36 | ]==]) 37 | 38 | whatis("Name: relion") 39 | whatis("Version: 2.1.b1") 40 | whatis("Description: RELION (for REgularized LIkelihood OptimizatioN) implements an empirical Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). Specifically it provides methods of refinement of singular or multiple 3D reconstructions as well as 2D class averages. RELION is an important tool in the study of living cells.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:relion") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "milc", "relion") 51 | 52 | local image = "nvcr.io_hpc_relion:2.1.b1.sif" 53 | local uri = "docker://nvcr.io/hpc/relion:2.1.b1" 54 | local programs = {"mpirun", "relion", "relion_refine_mpi"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Multinode support 84 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 85 | 86 | -- Programs to setup in the shell 87 | for i,program in pairs(programs) do 88 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 89 | container_launch .. " " .. program .. " $*") 90 | end 91 | -------------------------------------------------------------------------------- /relion/3.0.8.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | RELION (for REgularized LIkelihood OptimizatioN) implements an empirical 28 | Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). 29 | Specifically it provides methods of refinement of singular or multiple 3D 30 | reconstructions as well as 2D class averages. RELION is an important tool in 31 | the study of living cells. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:relion 36 | ]==]) 37 | 38 | whatis("Name: relion") 39 | whatis("Version: 3.0.8") 40 | whatis("Description: RELION (for REgularized LIkelihood OptimizatioN) implements an empirical Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). Specifically it provides methods of refinement of singular or multiple 3D reconstructions as well as 2D class averages. RELION is an important tool in the study of living cells.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:relion") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "milc", "relion") 51 | 52 | local image = "nvcr.io_hpc_relion:3.0.8.sif" 53 | local uri = "docker://nvcr.io/hpc/relion:3.0.8" 54 | local programs = {"mpirun", "relion_refine_mpi"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Multinode support 84 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 85 | 86 | -- Programs to setup in the shell 87 | for i,program in pairs(programs) do 88 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 89 | container_launch .. " " .. program .. " $*") 90 | end 91 | -------------------------------------------------------------------------------- /relion/3.1.0.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | RELION (for REgularized LIkelihood OptimizatioN) implements an empirical 28 | Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). 29 | Specifically it provides methods of refinement of singular or multiple 3D 30 | reconstructions as well as 2D class averages. RELION is an important tool in 31 | the study of living cells. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:relion 36 | ]==]) 37 | 38 | whatis("Name: relion") 39 | whatis("Version: 3.1.0") 40 | whatis("Description: RELION (for REgularized LIkelihood OptimizatioN) implements an empirical Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). Specifically it provides methods of refinement of singular or multiple 3D reconstructions as well as 2D class averages. RELION is an important tool in the study of living cells.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:relion") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "milc", "quantum_espresso", "relion") 51 | 52 | local image = "nvcr.io_hpc_relion:3.1.0.sif" 53 | local uri = "docker://nvcr.io/hpc/relion:3.1.0" 54 | local programs = {"mpirun", "relion_refine_mpi"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Multinode support 84 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 85 | 86 | -- Programs to setup in the shell 87 | for i,program in pairs(programs) do 88 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 89 | container_launch .. " " .. program .. " $*") 90 | end 91 | -------------------------------------------------------------------------------- /relion/3.1.2.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | RELION (for REgularized LIkelihood OptimizatioN) implements an empirical 28 | Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). 29 | Specifically it provides methods of refinement of singular or multiple 3D 30 | reconstructions as well as 2D class averages. RELION is an important tool in 31 | the study of living cells. 32 | 33 | More information 34 | ================ 35 | - NGC: https://ngc.nvidia.com/catalog/containers/hpc:relion 36 | ]==]) 37 | 38 | whatis("Name: relion") 39 | whatis("Version: 3.1.2") 40 | whatis("Description: RELION (for REgularized LIkelihood OptimizatioN) implements an empirical Bayesian approach for analysis of electron cryo-microscopy (Cryo-EM). Specifically it provides methods of refinement of singular or multiple 3D reconstructions as well as 2D class averages. RELION is an important tool in the study of living cells.") 41 | whatis("URL: https://ngc.nvidia.com/catalog/containers/hpc:relion") 42 | 43 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 44 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 45 | if not (isloaded(singularity_module)) then 46 | load(singularity_module) 47 | end 48 | end 49 | 50 | conflict(myModuleName(), "openmpi", "chroma", "lammps", "milc", "quantum_espresso", "relion") 51 | 52 | local image = "nvcr.io_hpc_relion:3.1.2.sif" 53 | local uri = "docker://nvcr.io/hpc/relion:3.1.2" 54 | local programs = {"mpirun", "relion_refine_mpi"} 55 | local entrypoint_args = "" 56 | 57 | -- The absolute path to Singularity is needed so it can be invoked on remote 58 | -- nodes without the corresponding module necessarily being loaded. 59 | -- Trim off the training newline. 60 | local singularity = capture("which singularity | head -c -1") 61 | 62 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 63 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 64 | 65 | if not (isFile(image)) then 66 | -- The image could not be found in the container directory 67 | LmodMessage("file not found: " .. image) 68 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 69 | image = uri 70 | 71 | -- Alternatively, this could pull the container image and 72 | -- save it in the container directory 73 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 74 | end 75 | else 76 | -- Look for the image in the Singularity cache, and if not found 77 | -- download it when "singularity run" is invoked. 78 | image = uri 79 | end 80 | 81 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 82 | 83 | -- Multinode support 84 | setenv("OMPI_MCA_orte_launch_agent", container_launch .. " orted") 85 | 86 | -- Programs to setup in the shell 87 | for i,program in pairs(programs) do 88 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 89 | container_launch .. " " .. program .. " $*") 90 | end 91 | -------------------------------------------------------------------------------- /tensorflow/20.02-tf1-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.02-tf1-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.02-tf1-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.02-tf1-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.02-tf2-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.02-tf2-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.02-tf2-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.02-tf2-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.03-tf1-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.03-tf1-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.03-tf1-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.03-tf1-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.03-tf2-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.03-tf2-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.03-tf2-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.03-tf2-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.06-tf1-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.06-tf1-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.06-tf1-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.06-tf1-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.06-tf2-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.06-tf2-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.06-tf2-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.06-tf2-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.11-tf1-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.11-tf1-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.11-tf1-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.11-tf1-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.11-tf2-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.11-tf2-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.11-tf2-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.11-tf2-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.12-tf1-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.12-tf1-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.12-tf1-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.12-tf1-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/20.12-tf2-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2020 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 20.12-tf2-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:20.12-tf2-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:20.12-tf2-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/21.06-tf1-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 21.06-tf1-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:21.06-tf1-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:21.06-tf1-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | -------------------------------------------------------------------------------- /tensorflow/21.06-tf2-py3.lua: -------------------------------------------------------------------------------- 1 | -- The MIT License (MIT) 2 | -- 3 | -- Copyright (c) 2021 NVIDIA Corporation 4 | -- 5 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 6 | -- of this software and associated documentation files (the "Software"), to 7 | -- deal in the Software without restriction, including without limitation the 8 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | -- sell copies of the Software, and to permit persons to whom the Software is 10 | -- furnished to do so, subject to the following conditions: 11 | -- 12 | -- The above copyright notice and this permission notice shall be included in 13 | -- all copies or substantial portions of the Software. 14 | -- 15 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | -- IN THE SOFTWARE. 22 | 23 | help([==[ 24 | 25 | Description 26 | =========== 27 | TensorFlow is an open-source software library for numerical computation using 28 | data flow graphs. Nodes in the graph represent mathematical operations, while 29 | the graph edges represent the multidimensional data arrays (tensors) that flow 30 | between them. This flexible architecture lets you deploy computation to one or 31 | more CPUs or GPUs in a desktop, server, or mobile device without rewriting 32 | code. 33 | 34 | More information 35 | ================ 36 | - NGC: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow 37 | ]==]) 38 | 39 | whatis("Name: PyTorch") 40 | whatis("Version: 21.06-tf2-py3") 41 | whatis("Description: TensorFlow is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.") 42 | whatis("URL: https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow") 43 | 44 | if not (os.getenv("NGC_SINGULARITY_MODULE") == "none") then 45 | local singularity_module = os.getenv("NGC_SINGULARITY_MODULE") or "Singularity" 46 | if not (isloaded(singularity_module)) then 47 | load(singularity_module) 48 | end 49 | end 50 | 51 | conflict(myModuleName(), "rapidsai", "pytorch") 52 | 53 | local image = "nvcr.io_nvidia_tensorflow:21.06-tf2-py3.sif" 54 | local uri = "docker://nvcr.io/nvidia/tensorflow:21.06-tf2-py3" 55 | local programs = {"python", "python3"} 56 | local entrypoint_args = "" 57 | 58 | -- The absolute path to Singularity is needed so it can be invoked on remote 59 | -- nodes without the corresponding module necessarily being loaded. 60 | -- Trim off the training newline. 61 | local singularity = capture("which singularity | head -c -1") 62 | 63 | if (os.getenv("NGC_IMAGE_DIR") and mode() == "load") then 64 | image = pathJoin(os.getenv("NGC_IMAGE_DIR"), image) 65 | 66 | if not (isFile(image)) then 67 | -- The image could not be found in the container directory 68 | LmodMessage("file not found: " .. image) 69 | LmodMessage("The container image will be pulled upon first use to the Singularity cache") 70 | image = uri 71 | 72 | -- Alternatively, this could pull the container image and 73 | -- save it in the container directory 74 | --subprocess(singularity .. " pull " .. image .. " " .. uri) 75 | end 76 | else 77 | -- Look for the image in the Singularity cache, and if not found 78 | -- download it when "singularity run" is invoked. 79 | image = uri 80 | end 81 | 82 | local container_launch = singularity .. " run --nv " .. image .. " " .. entrypoint_args 83 | 84 | -- Programs to setup in the shell 85 | for i,program in pairs(programs) do 86 | set_shell_function(program, container_launch .. " " .. program .. " \"$@\"", 87 | container_launch .. " " .. program .. " $*") 88 | end 89 | --------------------------------------------------------------------------------