############################ 09:02:49 De Jean : will the video be uploaded on the website afterward ? 09:03:28 De France Boillod-Cerneux : yes, the vieo will be on Eurofusion youtube channel 09:03:38 De Jean : Thanks :) 09:04:26 De France Boillod-Cerneux : here is the link: https://www.youtube.com/channel/UCQNxXoQUPMOo_ETr09N3OtA 09:04:39 De France Boillod-Cerneux : you can find also all information about the webinar serie here: 09:04:51 De France Boillod-Cerneux : https://indico.euro-fusion.org/event/688/ ############################ 09:07:12 De sommariva : A small question, are there any compiler supporting standard 5.0 / 5.1 ? 09:09:43 De Michael Klemm : Not yet when it comes to full support of OpenMP 5.0/5.1, but most compiler vendors are adding features by priority, so you may see compilers supporting 5.1 features already while having incomplete 5.0 support. The OpenMP ARB keeps a list of tools that we know about and for which the respective vendors provides us with information. You can find that at https://www.openmp.org/resources/openmp-compilers-tools/ 09:10:19 De Michael Klemm : You can find the cheat sheets here: https://www.openmp.org/specifications/ 09:10:24 De sommariva : perfect, thank you very much for the info 09:10:55 De Michael Klemm : The spec book can be bought from Amazon at https://www.amazon.com/Application-Programming-Interface-Specification-Version/dp/B08NDZM8D4 09:11:27 De Michael Klemm : We also have a HTML version of the specification. The HTML version is linked from https://www.openmp.org/specifications/, too 09:22:28 De Michael Klemm : All of our examples are in C/C++, but the syntax transfers almost 1:1 to Fortran. If you have a specific Fortran-related question, please let us know and we'll help. ############################ 09:39:08 De Samuel Lazerson : Maybe I missed it but doesn’t the `i` variable need to be declared as private in the OMP for directive? 09:42:24 De Michael Klemm : If i is the loop iteration variable, then OpenMP automatically figures out that it needs to be private. That only applies to the loop variable that OpenMP parallelizes over: #pragma omp parallel for for (i = 0; …) {…} In that case, i is indeed private. In this example: #pragma omp parallel for for(i = 0; …) { for (j = 0; …) {} } OpenMP will make i private, but j will remain as shared and thus needs a private(j) at the directive 09:53:45 De Michael Klemm : What Christian says about threadprivate also applies to Fortran COMMON blocks ############################ 10:12:15 De Simppa Äkäslompolo : How well does unstructured parallelism work on GPUs? (Not very well in my experience, but maybe you can comment more.) ############################ 10:13:54 De Tiago Ribeiro : slide4: does the implicit barrier play a role in these 2 examples? 10:15:54 De Christian Terboven : Well, there is also an implied barrier at the end of the parallel region. 10:17:11 De Tiago Ribeiro : thanks, but I guess this would make a difference if there was additional code inside that region, after the omp master, right? 10:18:10 De Christian Terboven : Yes, if there was other code after master / single, then it would make a difference. ############################ 10:18:50 De Dimitrios Peponis (NCSRD/NKUA) : In a for loop, where a lot of race conditions happen due to concurrent writing in memory (more specific to array elements), I found that the critical clause is even slower than the serial execution of the code. In this case, is parallelization even possible? 10:20:59 De Christian Terboven : Dimitrios: the only real answer is "it depends". Sometimes it is impossible, but sometimes not. An example for the latter: if you use critical to ensure correctness, but if the likelyhood of conflicting accesses is rather low, then a transactional synchronization could help. You can add a "lock hint" to the OpenMP critical contruct. 10:21:20 De Samuel Lazerson : Can you put that in the chat so we can copy paste. 10:22:13 De victor cameo : https://github.com/cterboven/OpenMP-tutorial-EUROfusion 10:22:30 De Christian Terboven : e critical clause is even slower than the 10:22:44 De Christian Terboven : Sorry. 10:22:47 De Christian Terboven : Thank you, victor. 10:22:49 De Dimitrios Peponis (NCSRD/NKUA) : In fact, the code is rather large and involves a large number of different functions and source files. However, since you gave me the hint of lock hint and transactional synchronization I will try this. Could you please provide me with the documentation on these issues? 10:24:17 De Christian Terboven : #pragma omp critical hint(OMP_SYNC_HINT_SPECULATIVE) 10:24:33 De Dimitrios Peponis (NCSRD/NKUA) : Thank you! 10:24:50 De Michael Klemm : The sync hints are listed here: https://www.openmp.org/spec-html/5.1/openmpsu110.html#x143-1550002.19.12 10:25:07 De Michael Klemm : note, the "omp_lock_hint_" versions have been deprecated 10:25:23 De Michael Klemm : so, use the ones that start with "omp_sync_hint" ############################ 10:26:22 De Alf Köhn-Seemann : Will OpenMP usuage (or rather support) on accelarators (GPUs) be addressed? 10:26:59 De Christian Terboven : Dimitrios: yes, we can do so. ############################ 10:27:52 De Simppa Äkäslompolo : In april/may will we use m100 as the platform? 10:29:03 De Simppa Äkäslompolo : m100=marconi100=eurofusion supercomputer 10:28:23 De Michael Klemm : Not sure yet. It might be MI50. 10:29:05 De Michael Klemm : But you will be able to also use an IBM system with Nvidia GPUs or an Intel system using Intel oneAPI and a Gen GPU ############################ 10:27:59 De France Boillod-Cerneux : https://indico.euro-fusion.org/event/688/ 10:28:04 De France Boillod-Cerneux : here is the linki! 10:28:44 De France Boillod-Cerneux : https://www.youtube.com/channel/UCQNxXoQUPMOo_ETr09N3OtA ############################ 10:25:24 De Simppa Äkäslompolo : thread safety of MPI on OpenMPI/MPI should be addressed? Oral answer: YES ############################ 10:26:35 De Dimitrios Peponis (NCSRD/NKUA) : Since in my case I have multiple write accesses to same array elements, I thought about using custom reduction clauses. Will you cover these in a future webinar? Oral answer: YES ############################ 10:24:14 De Samuel Lazerson : Will you cover hybrid OpenMP/MPI coding in a future Webinar?