-
Notifications
You must be signed in to change notification settings - Fork 41
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
[WIP] Update and standardize implementation of packages, in sync with spack update #480
Conversation
@adrienbernede I don't understand why SYCL CI is failing. I can build and run the tests manually on corona using the The build script mentioned here may be helpful for you to get the CI SYCL build correct. |
Also, OpenMP can be enabled for the SYCL checks. |
@rhornung67
I'll try with your fix. |
…optim/spack-update
@adrienbernede I pushed a change to the raja-perf spack package that may fix the SYCL CI issue. If this works, we will need to merge a sequence of PRs, in order: first pull radiuss-spack-configs branch with Spack package change, second pull updated radiuss-spack-configs main into RAJA develop, third pull new RAJA develop into this PR branch. Then, we should be able to merge this (fingers crossed). |
@adrienbernede I found and fixed the issue. See this commit: 01bf5b2 |
@rchen20 @MrBurmark This will be merged soon after a couple of other PRs are merged on other projects so that this can point at develop/main branches of RAJA and radiuss-spack-configs. To do these updates, we pulled the reduction kernels changes to the new val-op interface into this PR. Please review those changes in this PR before this is merged. Thank you. |
src/lcals/FIRST_MIN-Cuda.cpp
Outdated
RAJA::expt::ValLoc<Real_type, RAJA::Index_type> tminloc(m_xmin_init, | ||
m_initloc); | ||
|
||
RAJA::forall<exec_policy>( res, | ||
RAJA::RangeSegment(ibegin, iend), | ||
RAJA::expt::Reduce<RAJA::operators::minimum>(&tloc), | ||
[=] __device__ (Index_type i, VL_TYPE& loc) { | ||
loc.min(x[i], i); | ||
RAJA::expt::Reduce<RAJA::operators::minimum>(&tminloc), | ||
[=] __device__ (Index_type i, | ||
RAJA::expt::ValLocOp<Real_type, Index_type, |
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 ValLocOp
Index_type
should match the above ValLoc
's RAJA::Index_type
. I can't quite tell if they match, but we should check. It's probably working due to type erasure in the internals.
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.
Good catch -- thanks!. That's a cut-and-paste error. The types are the same and the types in RAJAPerf are aliases to the RAJA types. I pushed a change plus some others for code consistency.
loc.min(x[i], i); | ||
RAJA::expt::Reduce<RAJA::operators::minimum>(&tminloc), | ||
[=] (Index_type i, | ||
RAJA::expt::ValLocOp<Real_type, Index_type, |
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.
Should check matching Index_type
here too.
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.
Fixed.
loc.min(x[i], i); | ||
RAJA::expt::Reduce<RAJA::operators::minimum>(&tminloc), | ||
[=](Index_type i, | ||
RAJA::expt::ValLocOp<Real_type, Index_type, |
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.
Should check matching Index_type
here too.
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.
Fixed.
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.
LGTM
and fix merge conflicts
@adrienbernede This PR is synced up with latest radiuss-spack-configs main and RAJA develop. All checks passed. You may have the honor of merging. |
Summary
This PR :
👀 Deserves some consideration:
.uberenv-config.json
.