From 37fd1382d2bf7facc40a258ccebdf54e66761ff0 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 17:21:33 +0100 Subject: [PATCH 1/8] Added a friendly label for the CSC-managed local software stack. --- LMOD/SitePackage.lua | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/LMOD/SitePackage.lua b/LMOD/SitePackage.lua index 2d37d621b..7e23de756 100644 --- a/LMOD/SitePackage.lua +++ b/LMOD/SitePackage.lua @@ -611,10 +611,10 @@ local mapT = ['modules/Infrastructure/'] = 'Infrastructure modules for the software stack _STACK_ on _PARTITION_', ['modules/easybuild/CrayEnv'] = 'EasyBuild managed software for CrayEnv', ['modules/easybuild/system'] = 'EasyBuild managed systemwide software', - ['modules/easybuild/'] = 'EasyBuild managed software for software stack _STACK_ on _PARTITION_', - ['modules/spack/'] = 'Spack managed software for software stack _STACK_ on _PARTITION_', - ['modules/manual/system'] = 'Manually installed system-wide software', - ['modules/manual/'] = 'Manually installed software for software stack _STACK_ on _PARTITION_', + ['modules/easybuild/L'] = 'EasyBuild managed software for software stack _STACK_ on _PARTITION_', + -- ['modules/spack/'] = 'Spack managed software for software stack _STACK_ on _PARTITION_', + -- ['modules/manual/system'] = 'Manually installed system-wide software', + -- ['modules/manual/'] = 'Manually installed software for software stack _STACK_ on _PARTITION_', ['cray/pe/.*/craype%-targets'] = 'HPE-Cray PE target modules', ['cray/pe/.*/core'] = 'HPE-Cray PE modules', ['modules/CrayOverwrite/core'] = 'HPE-Cray PE modules', @@ -641,6 +641,8 @@ local mapT = ['/usr/share/modulefiles'] = 'Non-PE HPE-Cray modules', -- User-installed software [ EB_prefix .. '/modules'] = 'EasyBuild managed user software for software stack _STACK_ on _PARTITION_', + -- Other stacks + ['/appl/local/csc/modulefiles'] = 'Local software stack managed by CSC', }, PEhierarchy = { -- ['/testview$'] = 'Activate environments', @@ -652,10 +654,10 @@ local mapT = ['modules/Infrastructure/'] = 'Infrastructure modules for the software stack _STACK_ on _PARTITION_', ['modules/easybuild/CrayEnv'] = 'EasyBuild managed software for CrayEnv', ['modules/easybuild/system'] = 'EasyBuild managed systemwide software', - ['modules/easybuild/'] = 'EasyBuild managed software for software stack _STACK_ on _PARTITION_', - ['modules/spack/'] = 'Spack managed software for software stack _STACK_ on _PARTITION_', - ['modules/manual/system'] = 'Manually installed system-wide software', - ['modules/manual/'] = 'Manually installed software for software stack _STACK_ on _PARTITION_', + ['modules/easybuild/L'] = 'EasyBuild managed software for software stack _STACK_ on _PARTITION_', + -- ['modules/spack/'] = 'Spack managed software for software stack _STACK_ on _PARTITION_', + -- ['modules/manual/system'] = 'Manually installed system-wide software', + -- ['modules/manual/'] = 'Manually installed software for software stack _STACK_ on _PARTITION_', ['cray/pe/.*/craype%-targets'] = 'HPE-Cray PE target modules', ['cray/pe/.*/core'] = 'HPE-Cray PE core modules', ['modules/CrayOverwrite/core'] = 'HPE-Cray PE core modules', @@ -682,6 +684,8 @@ local mapT = ['/usr/share/modulefiles'] = 'Non-PE HPE-Cray modules', -- User-installed software [ EB_prefix .. '/modules'] = 'EasyBuild managed user software for software stack _STACK_ on _PARTITION_', + -- Other stacks + ['/appl/local/csc/modulefiles'] = 'Local software stack managed by CSC', }, } From 6bc1db650707515ba60a2469455ea2c7d415a568 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 17:54:26 +0100 Subject: [PATCH 2/8] Small change to the wording for the CSC software collection. --- LMOD/SitePackage.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LMOD/SitePackage.lua b/LMOD/SitePackage.lua index 7e23de756..cb32fad06 100644 --- a/LMOD/SitePackage.lua +++ b/LMOD/SitePackage.lua @@ -642,7 +642,7 @@ local mapT = -- User-installed software [ EB_prefix .. '/modules'] = 'EasyBuild managed user software for software stack _STACK_ on _PARTITION_', -- Other stacks - ['/appl/local/csc/modulefiles'] = 'Local software stack managed by CSC', + ['/appl/local/csc/modulefiles'] = 'Local software collection managed by CSC', }, PEhierarchy = { -- ['/testview$'] = 'Activate environments', @@ -685,7 +685,7 @@ local mapT = -- User-installed software [ EB_prefix .. '/modules'] = 'EasyBuild managed user software for software stack _STACK_ on _PARTITION_', -- Other stacks - ['/appl/local/csc/modulefiles'] = 'Local software stack managed by CSC', + ['/appl/local/csc/modulefiles'] = 'Local software collection managed by CSC', }, } From 91f5c576525615aaec930f31d5b20d05668c2173 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 17:54:44 +0100 Subject: [PATCH 3/8] CSC module to activate the CSC local collection. --- modules/LocalStack/CSC.lua | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 modules/LocalStack/CSC.lua diff --git a/modules/LocalStack/CSC.lua b/modules/LocalStack/CSC.lua new file mode 100644 index 000000000..78b2e90ef --- /dev/null +++ b/modules/LocalStack/CSC.lua @@ -0,0 +1,51 @@ +-- A module to make the CSC module available on LUMI, but without +-- making them available to the module spider command if the module +-- is not loaded to avoid interfering with the LUST software stack. + +whatis( 'Description: Makes the CSC-managed local software collection available, see https://docs.csc.fi/apps/by_system/#lumi' ) + +help( [[ +Description +=========== +This module makes a software collection available managed and supported by CSC. + +There is no guarantee that this software works together with software provided +by the CrayEnv, LUMI or spack software stacks on LUMI, though those modules will +not be automatically unloaded. Try at your own risk. + +The LUMI User Support Team (LUST) is not managing the software made available by +this module, nor can LUST make any changes or corrections. Support for these +packages is provided by the CSC service desk, see https://docs.csc.fi/support/contact/. + +The software provided by this module is not discoverable with module spider +unless the module is loaded. + + +More information +================ + - Overview: https://docs.csc.fi/apps/by_system/#lumi + - Site contact: Help for the software made available by this module is provided + by the CSC service desk (https://docs.csc.fi/support/contact/) and not by + the LUMI User Support Team + +]] ) + + + +-- +-- Only make the MODLEPATH change visible to LMOD when loading, unloading or +-- showing a module to avoid interfereing with, e.g., module spider. +-- + +if mode() == 'load' or mode() == 'unload' or mode() == 'show' then + prepend_path( 'MODULEPATH', '/appl/local/csc/modulefiles' ) +end + +-- +-- Print a message. +-- + +if mode() == 'load' then + LmodMessage( 'This software collection is provided and supported by CSC.\n' .. + 'Run `module help CSC` for more information about support.' ) +end From d70294664b9048839f62d5f8f2e6b2c74e3cca7c Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 18:07:40 +0100 Subject: [PATCH 4/8] Title for the local software collections in the module display. --- LMOD/SitePackage.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LMOD/SitePackage.lua b/LMOD/SitePackage.lua index cb32fad06..8f4d48fbb 100644 --- a/LMOD/SitePackage.lua +++ b/LMOD/SitePackage.lua @@ -642,6 +642,7 @@ local mapT = -- User-installed software [ EB_prefix .. '/modules'] = 'EasyBuild managed user software for software stack _STACK_ on _PARTITION_', -- Other stacks + ['modules/LocalStack'] = 'Local software collections (non-LUST)', ['/appl/local/csc/modulefiles'] = 'Local software collection managed by CSC', }, PEhierarchy = { @@ -685,6 +686,7 @@ local mapT = -- User-installed software [ EB_prefix .. '/modules'] = 'EasyBuild managed user software for software stack _STACK_ on _PARTITION_', -- Other stacks + ['modules/LocalStack'] = 'Local software collections (non-LUST)', ['/appl/local/csc/modulefiles'] = 'Local software collection managed by CSC', }, } From e5e7540f5bc6ef39cef90f3906f7a6fdc02620c5 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 18:08:34 +0100 Subject: [PATCH 5/8] Added the local software collections module directory to the MODULEPATH when logging in. --- modules/init-lumi/0.1.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/init-lumi/0.1.lua b/modules/init-lumi/0.1.lua index 4c06df985..b74b98046 100644 --- a/modules/init-lumi/0.1.lua +++ b/modules/init-lumi/0.1.lua @@ -37,6 +37,7 @@ local repo = myFileName():match( '.*/modules/init%-(.*)/init%-lumi/.*' ) -- Add additionsl directories to the MODULEPATH -- (could be moved to /etc/cray-pe.d/cray-pe-configuration.sh) -- +prepend_path( 'MODULEPATH', pathJoin( LUMI_root, 'modules/LocalStack' ) ) prepend_path( 'MODULEPATH', pathJoin( LUMI_root, 'modules/easybuild/system' ) ) -- Setting defaults and visibility, note that this is a PATH-style variable From 917358c4b8b7eb787fbba9bb715e93b7f3c89714 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 18:28:53 +0100 Subject: [PATCH 6/8] Improvements to the comments in the code. --- modules/LocalStack/CSC.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/LocalStack/CSC.lua b/modules/LocalStack/CSC.lua index 78b2e90ef..cef7de67e 100644 --- a/modules/LocalStack/CSC.lua +++ b/modules/LocalStack/CSC.lua @@ -1,5 +1,5 @@ --- A module to make the CSC module available on LUMI, but without --- making them available to the module spider command if the module +-- A module to make the CSC modules available on LUMI, but without +-- making them findable for the module spider command if the module -- is not loaded to avoid interfering with the LUST software stack. whatis( 'Description: Makes the CSC-managed local software collection available, see https://docs.csc.fi/apps/by_system/#lumi' ) From 2e493ea59056454c166fff0352e8f5e6fc0663f4 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 18:29:22 +0100 Subject: [PATCH 7/8] add support for /appl/lumi/quantum. --- LMOD/SitePackage.lua | 2 ++ modules/LocalStack/quantum.lua | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 modules/LocalStack/quantum.lua diff --git a/LMOD/SitePackage.lua b/LMOD/SitePackage.lua index 8f4d48fbb..d9bcae7df 100644 --- a/LMOD/SitePackage.lua +++ b/LMOD/SitePackage.lua @@ -644,6 +644,7 @@ local mapT = -- Other stacks ['modules/LocalStack'] = 'Local software collections (non-LUST)', ['/appl/local/csc/modulefiles'] = 'Local software collection managed by CSC', + ['/appl/local/quantum/modulefiles'] = 'Software for the Helmi quantum computer (non-LUST)', }, PEhierarchy = { -- ['/testview$'] = 'Activate environments', @@ -688,6 +689,7 @@ local mapT = -- Other stacks ['modules/LocalStack'] = 'Local software collections (non-LUST)', ['/appl/local/csc/modulefiles'] = 'Local software collection managed by CSC', + ['/appl/local/quantum/modulefiles'] = 'Software for the Helmi quantum computer (non-LUST)', }, } diff --git a/modules/LocalStack/quantum.lua b/modules/LocalStack/quantum.lua new file mode 100644 index 000000000..64ee17c94 --- /dev/null +++ b/modules/LocalStack/quantum.lua @@ -0,0 +1,52 @@ +-- A module to make the /appl/lumi/quantum modules available on LUMI, but +-- without making them findable for the module spider command if the module +-- is not loaded to avoid interfering with the LUST software stack. + +whatis( 'Description: Makes the local software collection managed by the quantum computing team of CSC available' ) + +help( [[ +Description +=========== +This module makes a software collection available managed and supported by the +quantum computing team of CSC for users experimenting on Helmi. + +There is no guarantee that this software works together with software provided +by the CrayEnv, LUMI or spack software stacks on LUMI, though those modules will +not be automatically unloaded. Try at your own risk. + +The LUMI User Support Team (LUST) is not managing the software made available by +this module, nor can LUST make any changes or corrections. Support for these +packages is provided by the CSC service desk, see https://docs.csc.fi/support/contact/. + +The software provided by this module is not discoverable with module spider +unless the module is loaded. + + +More information +================ + - Web pages: https://docs.csc.fi/computing/quantum-computing/helmi/running-on-helmi/ + - Site contact: Help for the software made available by this module is provided + by the CSC service desk (https://docs.csc.fi/support/contact/) and not by + the LUMI User Support Team + +]] ) + + + +-- +-- Only make the MODLEPATH change visible to LMOD when loading, unloading or +-- showing a module to avoid interfereing with, e.g., module spider. +-- + +if mode() == 'load' or mode() == 'unload' or mode() == 'show' then + prepend_path( 'MODULEPATH', '/appl/local/quantum/modulefiles' ) +end + +-- +-- Print a message. +-- + +if mode() == 'load' then + LmodMessage( 'This software collection is provided and supported by Quantum Computing team of CSC.\n' .. + 'Run `module help CSC` for more information about support.' ) +end From 4657059fd24a1c0f991047bec8386247627a87a4 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 9 Feb 2023 18:32:17 +0100 Subject: [PATCH 8/8] Extend the prepare_LUMI.sh script to also prepare the directory for local software collection modules. --- scripts/prepare_LUMI.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/prepare_LUMI.sh b/scripts/prepare_LUMI.sh index ae3cf9479..c0d5e9056 100755 --- a/scripts/prepare_LUMI.sh +++ b/scripts/prepare_LUMI.sh @@ -98,6 +98,11 @@ fi # create_link "$installroot/$repo/modules/CrayEnv.lua" "$installroot/modules/SoftwareStack/CrayEnv.lua" +# +# Link the local software collections modules +# +create_link "$installroot/$repo/modules/LocalStack" "$installroot/modules/SoftwareStack/LocalStack" + # # Link the style modules #