Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add moosetainer (Apptainer) instructions #27744

Open
wants to merge 2 commits into
base: next
Choose a base branch
from

Conversation

milljm
Copy link
Member

@milljm milljm commented May 30, 2024

Add information about not using the visualization machines for build MOOSE/MOOSE-based applications (the real reason for this PR).

Add moosetainer (or possibly apptainer) instructions.

Modernize the HPC OnDemand page, which was making use of these instructions.

This is a work in progress.

Closes #27731

Add information about not using the visualization machines for
build MOOSE/MOOSE-based applications (the real reason for this
PR).

Add moosetainer (or possibly apptainer) instructions.

Modernize the HPC OnDemand page, which was making use of these
instructions.

This is a work in progress.

Closes idaholab#27731
@milljm milljm changed the title WIP: Add moosetainer (Apptainer) instructions Add moosetainer (Apptainer) instructions Jun 27, 2024
Beyond the initial cloning of the application, most steps are barred from network access. You
can mimmic these behaviors if need be. See [Apptainer Features](help/faq/apptainer.md#features)
below for details.
!alert-end!
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: I need to add how to enable this feature.

@@ -63,3 +63,4 @@ FAR: Failure Analysis Report
QLD: Quality Level Determination
QP: quadrature point
QPs: quadrature points
URI: Uniform resource identifier
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
URI: Uniform resource identifier
URI: uniform resource identifier

Comment on lines +5 to +10
!style! halign=left
The MOOSE build system is a hierarchical Makefile based system. The idea is that no matter where
you are in the hierarchy of MOOSE applications/modules/framework, simply typing `make` will rebuild
everything that needs to be rebuilt. The basic way to build any MOOSE application is simply to do
a:
!style-end!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI - if you wanted to reduce new line count, simply placing !style halign=left in front of the paragraph and not the full "start-to-end" syntax is sufficient to get the spacing right after a heading. Mentioning it in case you wanted to adjust as you're working through other parts of this review, but I will not require it, as this is good syntax as well.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh! I didn't know that. Yes I'd much rather not need the style-end syntax.

`METHODS`.
`METHODS` is used to specify the full set (space separated) of the above options that you will
_ever_ want to used. It is used in the build of `libMesh` to build a `libMesh` library for each of
the `METHODS`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the `METHODS`.
the `METHODS`, so that a rebuild of `libMesh` is not required every time a rebuild of MOOSE
with a new `METHOD` is performed.


!style! halign=left
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
!style! halign=left
!alert! note

Let's make this stand out a bit more since the section isn't strictly necessary.

This is advanced information meant to inform you of optimizations that happen within the MOOSE build
system. This is not necessary to understand how to use and build MOOSE.
system. This is not necessary to understand how to use and build MOOSE.
!style-end!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
!style-end!
!alert-end!

Tied to my previous comment.

If you're still unable to reproduce the error, please keep in mind one golden truth:
+Containers are immutable+. The lack of reproducibility is being caused by *something* that is
different in your environment compared to Civet's. Things like Network connectivity, shell flavor
(tsch, zsh, bash), CPU microachitechture (extremely rare), and the like.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(tsch, zsh, bash), CPU microachitechture (extremely rare), and the like.
(tsch, zsh, bash), CPU microarchitecture (extremely rare), and the like.

#### Paths and Mounts

!style! halign=left
You can instruct Apptainer to mount any path you have access to, to be made available inside the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can instruct Apptainer to mount any path you have access to, to be made available inside the
You can instruct Apptainer to mount any path you have access to, so that it is available inside the

[moose-dev][~]> ls /scratch # contents of scratch is displayed
```

Do you want to mount something somewhere else? Also with read-only permissions?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Do you want to mount something somewhere else? Also with read-only permissions?
Do you want to mount something somewhere else - perhaps also with read-only permissions?

```

!alert! tip title=Custom Prompt
There is an all encompasing `$CUSTOM_PROMPT` variable that allows you to pass your own prompt:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There is an all encompasing `$CUSTOM_PROMPT` variable that allows you to pass your own prompt:
There is an all-encompassing `$CUSTOM_PROMPT` variable that allows you to pass your own prompt:

[my-container][12:17:43]>
```

<!-- NOTE to editor: sub children elements require less top possitioning (-15 vs -7) -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<!-- NOTE to editor: sub children elements require less top possitioning (-15 vs -7) -->
<!-- NOTE to editor: sub children elements require less top positioning (-15 vs -7) -->

@moosebuild
Copy link
Contributor

Job Documentation on 6a6c758 wanted to post the following:

View the site here

This comment will be updated on new commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Specifically list supported INL HPC machine in which to build on
3 participants