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

resources and inspiration #15

Open
wikfeldt opened this issue Apr 21, 2021 · 8 comments
Open

resources and inspiration #15

wikfeldt opened this issue Apr 21, 2021 · 8 comments

Comments

@wikfeldt
Copy link
Contributor

wikfeldt commented Apr 21, 2021

@jussienko
Copy link
Collaborator

Just to note that the CSC OpenACC repo https://github.com/csc-training/openacc has both exercises (under "exercises" :-) ) and slide material in .md format in under "docs".

Some more resources:

@qianglise
Copy link
Contributor

more code examples from official OpenMP
https://github.com/OpenMP/Examples

@wikfeldt
Copy link
Contributor Author

@mabraham
Copy link
Contributor

miniWeather and heat-equation assume we want to teach MPI+X, but since we aren't requiring knowledge of MPI from the students we should find something simpler. We simply don't have the time to talk about what MPI calls are doing, and without that even students familiar with MPI will struggle to find meaning in the examples or exercises. Plus now the students need a working MPI environment on top of everything else.

heat-equation also assumes the student has libpng installed for making nice graphs of the output, but that's rather tangential

A similar heat equation example here https://github.com/UoB-HPC/openmp-tutorial/blob/master/heat.c looks usefully simple to explain to and motivate the students, but does not have a fortran version at the moment. How do you feel about making one of those, @qianglise ?

@jussienko
Copy link
Collaborator

Amount of MPI in heat-equation is minimal and can be easily removed from the basic exercises. In the end part of the course we will in any case discuss using multiple GPUs, so some MPI will be presented.

So far, requiring libpng has not been problem in any of the courses we have used the code, and providing also nice visual view of the results has been useful. Requirement can of course be made optional (e.g. via conditional compilation), but I do not think that is necessary.

@mabraham
Copy link
Contributor

Thanks for the thoughts!

Sure, a later exercise with MPI is fine. Students can cope with not getting much from that if they don't know much about MPI.

I am concerned that our main teaching example needs introduction in epside 2, and it's a lot to have to explain

  • heat diffusion,
  • the model being implemented,
  • explain the visualization available
  • the implementation,
  • extraneous stuff about command-line arguments and reporting results
  • MPI calls,
  • how to build and run

Then giving them time to build and run and perhaps finishing up with teasers about where we might use OpenMP later.

If the students are running on e.g. Puhti, then even if the headers for libpng are available, they going to have to scp them back to their own machine to view them, and that might be more distraction than it is worth.

I will have a go at removing the MPI from heat-equation and see how it looks.

@mabraham
Copy link
Contributor

I will have a go at removing the MPI from heat-equation and see how it looks.

OK done at cschpc/heat-equation#5. It seems easier for students to grapple with now!

@mabraham
Copy link
Contributor

mabraham commented Aug 22, 2021

Lesson with serial miniapp is now available at https://enccs.github.io/openmp-gpu/miniapp/

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

No branches or pull requests

4 participants