Question on Parallelization
Nobody has claimed this yet.
- Dominant language
- Fortran
- Stars
- 8
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
This message is more of a question, so my apologies in advance if this is not the best place for this.
We are trying to use UMT to help processor architectures with their next gen design, and they want to parallelize the hot loop of the code among certain number of microthreads. We performed a VTune analysis using the MFEM test case, and it seemed the hot loops are in SweepUCBxyz.F90 line 270 and 278. Now the architects are wondering if they can parallelize the two most outer loops, HyperPlaneLoop (line 103) and ZoneLoop (line 107). The question is that is there data dependency on either of these loops preventing parallelization? Is the value of c0 unique in each iteration (it seems like that based on the data from the test case, but we can't say that for sure)? We would truly appreciate any guidance on this, and more general, on OpenMP parallelization of the code. Thank you in advance for your time.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with SweepUCBxyz.F90 around lines 270 and 278, then inspect HyperPlaneLoop and ZoneLoop at lines 103 and 107 using the MFEM test case. Analyze the data dependencies and c0 values relevant to OpenMP parallelization. Done means providing a justified parallelization assessment and guidance for the requested loops.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran
- Domain
- hpc, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100