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

Update tutorials #344

Open
wants to merge 33 commits into
base: main
Choose a base branch
from
Open

Update tutorials #344

wants to merge 33 commits into from

Conversation

tkoskela
Copy link
Member

@tkoskela tkoskela commented Sep 20, 2024

I've added the ReFrame tutorial and fixed the most obvious formatting issues from hackmd. I've also added separate tutorials for getting started, postprocessing and profiling, based on the materials for CIUK.

There are a few rough edges and some of the Cosma output tabs are missing, but I think I'm mostly happy with the content.

You can preview the website by clicking on the details of the publish action

@tkoskela tkoskela marked this pull request as ready for review September 20, 2024 16:00
@tkoskela tkoskela requested a review from ilectra September 20, 2024 16:00
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
docs/tutorial/durham_reframe_tutorial.md Outdated Show resolved Hide resolved
@tkoskela
Copy link
Member Author

I think I addressed your comments, thanks for those!

This is maybe a bit too much of a lecture notes format. I think I need to go through it and write some more prose

@tkoskela tkoskela marked this pull request as draft September 23, 2024 10:59

## Configuring ReFrame for HPC systems (Cosma)
> In ReFrame, all the details of the various interactions of a test with the system environment are handled transparently and are set up in its configuration file.
- [Configuration](https://reframe-hpc.readthedocs.io/en/v4.5.2/tutorial_basics.html#more-of-hello-world)
Copy link
Collaborator

Choose a reason for hiding this comment

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

This list appears as continuous text, probably because it's inside a comment.

@tkoskela tkoskela changed the title Add Durham ReFrame tutorial Add ReFrame tutorial Dec 16, 2024
@tkoskela tkoskela force-pushed the tk/add-cosma-tutorial branch from 1e6ece0 to e86c207 Compare December 16, 2024 16:43
@tkoskela tkoskela force-pushed the tk/add-cosma-tutorial branch from 437dee6 to ca9b889 Compare December 17, 2024 11:25
@tkoskela tkoskela force-pushed the tk/add-cosma-tutorial branch from bd732e6 to 185861f Compare December 17, 2024 13:39
@tkoskela tkoskela changed the title Add ReFrame tutorial Update tutorials Dec 18, 2024
@tkoskela tkoskela force-pushed the tk/add-cosma-tutorial branch from 0790e3f to fcc121d Compare December 18, 2024 15:43
@tkoskela tkoskela linked an issue Dec 18, 2024 that may be closed by this pull request
@tkoskela tkoskela marked this pull request as ready for review December 18, 2024 15:59
@tkoskela tkoskela requested a review from ilectra January 7, 2025 11:05
@nicolin
Copy link

nicolin commented Jan 24, 2025

Installation section: Following on from creating the virtual env and cloning /installing the tests. It should be made clear that if the next step installing spack and reframe is done inside the virtual env or outside it. The reason is that when you go to the next page on a new system it says "spack env create --without-view -d /path/to/environment" . However based on the previous instruction spack is installed in the virtual env that the excalibur-tests were put in.

Reframe: Running the benchmark cases, it would be expected to have it create all IO in a defined folder, providing the -o MyBenchCasesA only puts a subset of files in there with a default/default/default folder structure. Either clarity should be given directly on this page as to the folders and structure created or point to a Reframe man page if this is a standard structure.

This is based me as a first time user of spack and Reframe: Use case that I normally do either for different systems or different configs eg GPUA GPUB on the same system is that what to have all the results in one folder so MyBenchCasesA MyBenchCasesB etc in a portable manner.


### Postprocessing features

The postprocessing can be performed either on a GUI or a CLI. It takes as input either a single perflog or a path that contains perflogs, and it is driven by a configuration YAML file (more on this later). Its outputs can be csv files of the whole or filtered perflog contents, as well as plots.
Copy link

Choose a reason for hiding this comment

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

more on this later. put a link to the section rather

Copy link
Member Author

Choose a reason for hiding this comment

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

There's a link to the documentation in the section above this one

- Spack installs the `nvidia-nsight-systems` package in the background, including the GUI
- The paths to the collected profile data, and to the GUI launcher are written into `rfm_job.out`
- To run the GUI remotely, you need to login with `ssh -X`. It may be slow on a remote system.
- You can (spack) install the GUI locally to view the data.
Copy link

Choose a reason for hiding this comment

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

nsys can be run in nvprof mode to provide CLI output not just the GUI. Maybe useful to include this also ?

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks! I created #358 for this

Copy link

@nicolin nicolin left a comment

Choose a reason for hiding this comment

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

Added comments on a first glace read. Will do an actual run in the coming days.

@tkoskela tkoskela force-pushed the tk/add-cosma-tutorial branch from edee911 to 78fbeae Compare January 31, 2025 13:34
@tkoskela
Copy link
Member Author

Installation section: Following on from creating the virtual env and cloning /installing the tests. It should be made clear that if the next step installing spack and reframe is done inside the virtual env or outside it. The reason is that when you go to the next page on a new system it says "spack env create --without-view -d /path/to/environment" . However based on the previous instruction spack is installed in the virtual env that the excalibur-tests were put in.

I added more detail on this in the installation and setup sections of the documentation. Is it clear now?

Reframe: Running the benchmark cases, it would be expected to have it create all IO in a defined folder, providing the -o MyBenchCasesA only puts a subset of files in there with a default/default/default folder structure. Either clarity should be given directly on this page as to the folders and structure created or point to a Reframe man page if this is a standard structure.

This is based me as a first time user of spack and Reframe: Use case that I normally do either for different systems or different configs eg GPUA GPUB on the same system is that what to have all the results in one folder so MyBenchCasesA MyBenchCasesB etc in a portable manner.

Upon reading a bit of ReFrame documentation I found the flag that does this. It is --prefix, not --outputdir 🙃 I've updated this in the documentation.

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.

Use tabs in tutorials to separate machine specific commands
3 participants