From 9aa4f7e1938068504efc41f526290e0bc9075a35 Mon Sep 17 00:00:00 2001 From: Ashley Griffin Date: Wed, 25 Sep 2024 16:18:03 -0600 Subject: [PATCH 1/2] update for discover-scu17 mkl and docs (#1306) * update mkl discover-scu17 package * doc updates for discover --- configs/sites/tier1/discover-scu17/packages_intel.yaml | 2 +- doc/source/PreConfiguredSites.rst | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/configs/sites/tier1/discover-scu17/packages_intel.yaml b/configs/sites/tier1/discover-scu17/packages_intel.yaml index 3512790ab..d971e2387 100644 --- a/configs/sites/tier1/discover-scu17/packages_intel.yaml +++ b/configs/sites/tier1/discover-scu17/packages_intel.yaml @@ -13,5 +13,5 @@ packages: - mpi/impi/2021.10.0 intel-oneapi-mkl: externals: - - spec: intel-oneapi-mkl@2032.2.0%intel@2021.10.0 + - spec: intel-oneapi-mkl@2023.2.0%intel@2021.10.0 prefix: /usr/local/intel/oneapi/2021 diff --git a/doc/source/PreConfiguredSites.rst b/doc/source/PreConfiguredSites.rst index 74ed5fd33..97b532daa 100644 --- a/doc/source/PreConfiguredSites.rst +++ b/doc/source/PreConfiguredSites.rst @@ -118,16 +118,12 @@ NASA Discover SCU16 The following is required for building new spack environments with any supported compiler on this platform. -**NEEDS UPDATING** - .. code-block:: console module purge module use /discover/swdev/gmao_SIteam/modulefiles-SLES12 module use /discover/swdev/jcsda/spack-stack/scu16/modulefiles module load miniconda/3.9.7 - module load ecflow/5.8.4 - .. _Preconfigured_Sites_Discover_SCU17: @@ -137,15 +133,11 @@ NASA Discover SCU17 The following is required for building new spack environments with any supported compiler on this platform. -**NEEDS UPDATING** - .. code-block:: console module purge module use /discover/swdev/gmao_SIteam/modulefiles-SLES15 module use /discover/swdev/jcsda/spack-stack/scu17/modulefiles - module load ecflow/5.11.4 - .. _Preconfigured_Sites_Narwhal: From 185593164a628e02eea2f89dcbd08ecf17282e39 Mon Sep 17 00:00:00 2001 From: Evan Parker Date: Fri, 27 Sep 2024 05:30:01 -0600 Subject: [PATCH 2/2] remove external ecflow install for aws-pcluster (#1314) --- configs/sites/tier1/aws-pcluster/README.md | 77 +++---------------- .../sites/tier1/aws-pcluster/packages.yaml | 5 -- 2 files changed, 12 insertions(+), 70 deletions(-) diff --git a/configs/sites/tier1/aws-pcluster/README.md b/configs/sites/tier1/aws-pcluster/README.md index 5c3c0d86e..b1ee5e1c0 100644 --- a/configs/sites/tier1/aws-pcluster/README.md +++ b/configs/sites/tier1/aws-pcluster/README.md @@ -116,7 +116,7 @@ apt install -y \ liblcms2-dev \ liblcms2-2 -# Install QT5 for ecflow +# Install QT5, needed for install of ecflow apt install -y \ qtcreator \ qtbase5-dev \ @@ -217,51 +217,7 @@ sudo usermod -aG docker $USER exit ``` -4. Build ecflow outside of spack to be able to link against OS boost -``` -mkdir -p /home/ubuntu/jedi/ecflow-5.8.4/src -cd /home/ubuntu/jedi/ecflow-5.8.4/src -wget https://github.com/ecmwf/ecflow/archive/refs/tags/5.8.4.tar.gz -tar -xvzf 5.8.4.tar.gz -export WK=/home/ubuntu/jedi/ecflow-5.8.4/src/ecflow-5.8.4 -export BOOST_ROOT=/usr - -# Build ecFlow -cd $WK -mkdir build -cd build -cmake .. -DPython3_EXECUTABLE=/usr/bin/python3 -DENABLE_STATIC_BOOST_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/home/ubuntu/jedi/ecflow-5.8.4 2>&1 | tee log.cmake -make -j10 2>&1 | tee log.make -make install 2>&1 | tee log.install - -# Create a modulefiles directory and the "ecflow/5.8.4" module file. -mkdir -p /home/ubuntu/jedi/modulefiles/ecflow - -cat << 'EOF' > /home/ubuntu/jedi/modulefiles/ecflow/5.8.4 -#%Module1.0 - -module-whatis "Provides an ecflow-5.8.4 server+ui installation for use with spack." - -conflict ecflow - -proc ModulesHelp { } { -puts stderr "Provides an ecflow-5.8.4 server+ui installation for use with spack." -} - -# Set this value -set ECFLOW_PATH "/home/ubuntu/jedi/ecflow-5.8.4" - -prepend-path PATH "${ECFLOW_PATH}/bin" -prepend-path LD_LIBRARY_PATH "${ECFLOW_PATH}/lib" -prepend-path LIBRARY_PATH "${ECFLOW_PATH}/lib" -prepend-path CPATH "${ECFLOW_PATH}/include" -prepend-path CMAKE_PREFIX_PATH "${ECFLOW_PATH}" -prepend-path PYTHONPATH "${ECFLOW_PATH}/lib/python3.10/site-packages" -EOF - -``` - -5. Install lmod. This step must be done as `root`. +4. Install lmod. This step must be done as `root`. ``` # Install lua/lmod manually because apt only has older versions # that are not compatible with the modern lua modules spack produces @@ -343,7 +299,7 @@ module purge module list ``` -6. Install msql community server +5. Install msql community server ``` cd /home/ubuntu/jedi mkdir -p mysql-8.0.31/src @@ -365,7 +321,7 @@ exit rm *.deb ``` -7. Option 1: Testing existing site config in spack-stack (skip steps +6. Option 1: Testing existing site config in spack-stack (skip steps 8-9 afterwards) this install is done directly on the NFS drive. If you are testing an update to the configuration, do this on the faster EBS volume (use a directory in /home/ubuntu) in order to ensure a faster build. Once you have @@ -398,7 +354,7 @@ spack module lmod refresh spack stack setup-meta-modules ``` -8. Option 2: Test configuring site from scratch +7. Option 2: Test configuring site from scratch ``` mkdir -p /home/ubuntu/jedi && cd /home/ubuntu/jedi git clone -b develop --recursive https://github.com/jcsda/spack-stack spack-stack @@ -450,15 +406,6 @@ cat << 'EOF' >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml prefix: /usr EOF -# Add external ecflow -cat << 'EOF' >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml - ecflow: - buildable: False - externals: - - spec: ecflow@5.8.4 +ui - prefix: /home/ubuntu/jedi/ecflow-5.8.4 -EOF - spack compiler find --scope system export -n SPACK_SYSTEM_CONFIG_PATH @@ -479,12 +426,12 @@ spack config add "packages:all:compiler:[intel@2021.10.0, gcc@11.4.0]" # I_MPI_PMI_LIBRARY: '/opt/slurm/lib/libpmi.so' ``` -9. Option 2: To avoid duplicate library versions edit ``envs/unified-dev/site/packages.yaml`` +8. Option 2: To avoid duplicate library versions edit ``envs/unified-dev/site/packages.yaml`` and remove entries for meson, ninja, hdf5, cmake and remove the external `cmake` and `openssl` entries. -10. Concretize and install +9. Concretize and install ``` spack concretize 2>&1 | tee log.concretize.unified-env.001 ./util/show_duplicate_packages.py -d log.concretize.unified-env.001 @@ -493,7 +440,7 @@ spack module lmod refresh spack stack setup-meta-modules ``` -11. Test spack-stack installation using your favorite application. +10. Test spack-stack installation using your favorite application. ``` # Example given for building jedi-bundle @@ -515,12 +462,12 @@ make -j10 ctest ``` -12. (Optional) Remove test installs of spack-stack environments, if desired. +11. (Optional) Remove test installs of spack-stack environments, if desired. -13. Create the AMI for use in the AWS parallelcluster config. You can follow +12. Create the AMI for use in the AWS parallelcluster config. You can follow the official instructions for [Modifying an AWS ParallelCluster AMI](https://docs.aws.amazon.com/parallelcluster/latest/ug/building-custom-ami-v3.html#modify-an-aws-parallelcluster-ami-v3) -14. Use the install to build +13. Use the install to build ``` # Load the intel toolchain into your environment. @@ -551,7 +498,7 @@ make -j10 ctest ``` -15. Once the parallel cluster head node image is fully configured and tested you +14. Once the parallel cluster head node image is fully configured and tested you can create an AMI snapshot based on the configured instance using the [instructions](https://docs.aws.amazon.com/parallelcluster/latest/ug/building-custom-ami-v3.html) published by AWS. Included here is a short summary of those instructions. diff --git a/configs/sites/tier1/aws-pcluster/packages.yaml b/configs/sites/tier1/aws-pcluster/packages.yaml index 17d5b64a6..6158d0119 100644 --- a/configs/sites/tier1/aws-pcluster/packages.yaml +++ b/configs/sites/tier1/aws-pcluster/packages.yaml @@ -19,11 +19,6 @@ packages: externals: - spec: diffutils@3.8 prefix: /usr - ecflow: - buildable: False - externals: - - spec: ecflow@5.8.4+ui+static_boost - prefix: /home/ubuntu/jedi/ecflow-5.8.4 findutils: externals: - spec: findutils@4.8.0