Skip to content

Commit 49c279b

Browse files
author
Natalie Perlin
committed
Corrections to documentation for container option
1 parent 5c048d5 commit 49c279b

1 file changed

Lines changed: 39 additions & 9 deletions

File tree

doc/UsersGuide/BuildingRunningTesting/ContainerQuickstart.rst

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -616,8 +616,7 @@ Docker Hub.
616616

617617
.. code-block:: console
618618
619-
singularity build rocky9-gcc13-ss192-ompi416.sif \
620-
docker://noaaepic/rocky9-gcc13.3.1-spack-stack:v1.9.2-ufs-env-ompi416
619+
singularity build rocky9-gcc13-ss192-ompi416.sif docker://noaaepic/rocky9-gcc13.3.1-spack-stack:v1.9.2-ufs-env-ompi416
621620
622621
export IMG=${PWD}/rocky9-gcc13-ss192-ompi416.sif
623622
@@ -654,12 +653,11 @@ instructs otherwise.
654653
singularity build -B </top_dir> -B </bind_add> --sandbox --fix-perms rocky9-oneapi2024.2-ss192 \
655654
docker://noaaepic/rocky9-oneapi2024.2-spack-stack:v1.9.2-ufs-wm-env
656655
657-
#. Copy the helper scripts out of the sandbox.
656+
#. Copy the helper scripts, *intel-sandbox.sh* and *compilers_cp.sh* out of the sandbox.
658657

659658
.. code-block:: console
660659
661-
singularity exec rocky9-oneapi2024.2-ss192 cp /opt/intel-sandbox.sh .
662-
singularity exec rocky9-oneapi2024.2-ss192 cp /opt/compilers_cp.sh .
660+
singularity exec rocky9-oneapi2024.2-ss192 cp /opt/*.sh .
663661
664662
These scripts retrieve the Intel compiler and MPI components and reinstall
665663
them for use with the software-stack sandbox.
@@ -686,6 +684,9 @@ instructs otherwise.
686684
After this step, the software-stack sandbox contains the compilers, MPI, and
687685
required software stack. The Intel sandbox, ``intel-sandbox``, can then be removed.
688686

687+
If users encounter problems building or combining sandboxes with SingularityCE,
688+
refer to :ref:`Note on possible SingularityCE restrictions <NoteBuildSandboxC>`.
689+
689690
The assembled sandbox can be used for runs, but it is large compared to a
690691
compressed image. For production runs, convert the sandbox into a SIF image,
691692
as shown in the next step.
@@ -707,6 +708,33 @@ instructs otherwise.
707708
708709
Proceed with downloading, building, and running the SRW App.
709710

711+
.. _NoteBuildSandboxC:
712+
713+
.. note::
714+
715+
Site-specific SingularityCE installations may restrict image and sandbox
716+
builds more than Apptainer installations. These restrictions are configured
717+
by system administrators for security reasons and therefore vary by system.
718+
If users encounter errors when building images or sandboxes with
719+
SingularityCE, they should use Apptainer for the build step when it is
720+
available. SingularityCE can still be used later to run the completed
721+
container image.
722+
723+
On Tier 1 platforms **Orion** and **Hercules**, for example, users who want
724+
to build the Intel sandbox and then create a combined sandbox that includes
725+
the full software stack and spack-stack libraries can load Apptainer with:
726+
727+
.. code-block:: shell
728+
729+
module load spack-managed-x86-64_v3/v1.0 apptainer/1.3.3
730+
731+
Here, the Apptainer module is loaded in a specific module environment that is
732+
not easily combined with other host modules. However, this environment is
733+
needed only while building the sandbox or image. After the final combined
734+
image has been created, the Apptainer module environment can be unloaded, and
735+
the more readily available SingularityCE module can be used for container
736+
runtime.
737+
710738
.. _DownloadSRWC:
711739

712740
Download the UFS SRW App and Submodules
@@ -732,10 +760,12 @@ Save the environment variable SRW for later use:
732760

733761
Shell into the Software-Stack Container
734762
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
735-
Open an interactive shell inside the container before building the SRW App. Bind
736-
the top-level host filesystem that contains the SRW App checkout, the input
737-
data, and the intended experiment directories. If additional site filesystems
738-
are required, bind them with additional ``-B`` options.
763+
Open an interactive shell inside the container before building the SRW App.
764+
Bind-mount all host filesystems and directories that contain the SRW App, input
765+
data, and experiment directories. These filesystems are identified during the
766+
build stage and recorded in the runtime environment files so that the required
767+
paths are accessible inside the container at runtime.
768+
Any additional host directory can be added with a preceding ``-B`` flag.
739769

740770
.. code-block:: console
741771

0 commit comments

Comments
 (0)