-
Notifications
You must be signed in to change notification settings - Fork 47
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
#857: conditionally rely on PARALLEL WORKSHARE #859
base: develop
Are you sure you want to change the base?
Conversation
Thanks @hfp I will take a look next week... |
e599ada
to
9105048
Compare
@mkrack this single PR is apparently resolving all runtime issues with Intel Fortran Compiler (IFX) in CP2K/DBCSR. There is still the question why |
@alazzaro any feedback welcome - so far, no issues with this code on my side, I am actively using it since sending the PR. |
Objective of this implementation is to exercise a way to preserve the (parallel) workshare. It does not judge (or confirms) whether the workshare is beneficial or not. |
@hfp thanks, I will review everything next week and make a new RC that we can push to CP2K for more testings |
77b1096
to
f684cd2
Compare
c513c8b
to
a4a3050
Compare
b313c16
to
e3fc8e4
Compare
- Avoid nested parallelism (dbcsr_acc_set_active_device). - Rely on omp_get_level (instead of omp_in_parallel), omp_in_parallel only accounts for active regions. - Avoid IF-condition as part of the WORKSHARE-directive. - Removed WORKSHARE construct from dbcsr_ptr_util, - otherwise keep WORKSHARE if not in parallel region. - There is potentially invalid nesting (parallel+X), e.g., nested in master or sections constructs.
omp_in_parallel only accounts for active regions.
e.g., nested in master or sections constructs.