-
Notifications
You must be signed in to change notification settings - Fork 33
1623 add training #3145
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
base: master
Are you sure you want to change the base?
1623 add training #3145
Conversation
… for transformation uses of PSyclone.
|
I think I have addressed all issue. Additionally, I fixed a missing I'll trigger the IT tomorrow. |
|
The documentation failure is caused by the link The IT failed in the lfric intregration test. It looks like an nvidia compiler crash: (line 40091) in the lfric gungho with openmp offload section. Again, I can't see how this PR should cause this? And I can't figure out which file might be causing this? |
Don't worry. We see this sometimes. Re-running the job almost always fixes it! |
arporter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great stuff Joerg. Just a bit more tidying to do and then we're good.
| def trans(psyir: FileContainer) -> None: | ||
| ''' | ||
| Take the supplied psy object, and apply 'omp parallel do' to all loops. | ||
| Take the supplied PSyOR object, and apply 'omp parallel do' to all loops. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"PSyIR"
| :type psy: :py:class:`psyclone.psyGen.PSy` | ||
| Take the supplied psyir object, apply module inlining and add generic | ||
| OpenMP parallelisation to the code. Also check if loop fusion can | ||
| be applied. Also check if loop fusion can |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicated last sentence.
| The task here is to create an alternative version of a loop. When | ||
| optimising code, it can be useful to have two different versions of | ||
| the same loop depending on loop length. For example, if the loop | ||
| length it long enough, vectorisation might give a speed benefit, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/it/is/
| length it long enough, vectorisation might give a speed benefit, | ||
| while if the loop is too short, vectorisation will have too much | ||
| start-up overhead, causing a slow-down. Or only if the loop length | ||
| is large enough it is worth to parallelise a loop. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"...enough is it worth parallelising."
| start-up overhead, causing a slow-down. Or only if the loop length | ||
| is large enough it is worth to parallelise a loop. | ||
|
|
||
| Of course, two versions of the could be implemented in the original source |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"...the loop could..."
Adds the PSyclone training material (based on #3131)