Difference between revisions of "OpenMP in Small Bites/Worksharing"
OpenMP in Small Bites/Worksharing
Jump to navigation
Jump to search
Line 15: | Line 15: | ||
{{hidden begin | {{hidden begin | ||
− | |title = What is most commenly used worksharing construct in OpenMP to distribute work among loop interations? | + | |title = 1. What is most commenly used worksharing construct in OpenMP to distribute work among loop interations? |
}} | }} | ||
<quiz display=simple> | <quiz display=simple> | ||
Line 26: | Line 26: | ||
{{hidden begin | {{hidden begin | ||
− | |title = Give an example for a parallel vector addition using OpenMP worksharing! | + | |title = 2. Give an example for a parallel vector addition using OpenMP worksharing! |
}} | }} | ||
<quiz display=simple> | <quiz display=simple> | ||
Line 32: | Line 32: | ||
|type="()"} | |type="()"} | ||
+ Click and submit to see the answer | + Click and submit to see the answer | ||
− | || | + | || C/C++:<br /> <code>int i; <br /> #pragma omp parallel <br /> #pragma omp for <br /> for (i = 0; i < 100; i++){ <br /> a[i] = b[i] + c[i]; <br /> } </code> <br /> Fortran: <br /> <code> INTEGER :: i <br />!$omp parallel <br />!$omp do <br /> DO i = 0, 99<br /> a[i] = b[i] + c[i] <br /> END DO </code> |
</quiz> | </quiz> | ||
{{hidden end}} | {{hidden end}} | ||
− | + | {{hidden begin | |
− | + | |title = 3. Can the following code snipped be parallelized with the OpenMP for-construct with out breaking the semantic? Justify your answer. | |
+ | }} | ||
+ | <quiz display=simple> | ||
+ | { | ||
+ | |type="()"} | ||
+ | + Click and submit to see the answer | ||
+ | || <code> int i, int s = 0; <br /> for (i = 1; i < 100; i++){ <br /> s = a[i-1] + a[i]; <br /> } </code> <br /> No. Due to the depency between the loop iterations this would cause a data race | ||
+ | </quiz> | ||
+ | {{hidden end}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
Revision as of 18:34, 30 October 2020
HPC.NRW | |
---|---|
Other HPC Courses | |
1. | Gprof Tutorial |
2. | Introduction to Linux in HPC |
OpenMP in Small Bites | |
1. | Overview |
2. | Worksharing |
3. | Data Scoping |
4. | Non-Uniform Memory Access
|
Video
Quiz
Collapse
1. What is most commenly used worksharing construct in OpenMP to distribute work among loop interations?
Collapse
3. Can the following code snipped be parallelized with the OpenMP for-construct with out breaking the semantic? Justify your answer.