-
Notifications
You must be signed in to change notification settings - Fork 100
Add ARM github action, ROCm 7, CUDA 13 gitlab job and corresponding update #1954
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
base: develop
Are you sure you want to change the base?
Conversation
… define a struct variable with warpSize
|
Error: The following files need to be formatted: You can find a formatting patch under Artifacts here or run |
|
|
||
| if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL 13) | ||
| find_package(Thrust REQUIRED) | ||
| thrust_create_target(Thrust) |
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.
Shouldn't we also add this to ginkgo_cuda?
| - 'master' | ||
| - 'develop' | ||
| - 'release/**' | ||
| - 'arm_action' |
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.
| - 'arm_action' |
I think this caused the CI to run twice.
It is raised from #1931 and #1867.
they are in quick or additional branch rule in CI setting, but I will revert them before merge
Fixes #1931
For ARM, apart from the benchmark statistic check,
we also have CGS SolvesDenseSystemMixedComplex on complex in https://github.com/ginkgo-project/ginkgo/actions/runs/19371107556/job/55427021354
Currently, using -ffp-contract=off can pass both.
ROCm 7 does not support MI50 officially.
For ROCm 7,
we can not define the warpSize via compiler option because one of their file use the same name as variable.
I only changed that in hip config and checked that all ginkgo based on the value not warpSize.
some extra conditions for kernel because we have grid size = 0 for those kernel. It starts to be capture in ROCm 7
Additional
hipGetLastError()in the OverAllocating test because ROCm 7 still has that and be captured byhipGetLastError()in sparse handle creation (so exception be thrown in the next test). We throw it here again to avoid polluting the next test step.Related Issue: ROCm/rocm-libraries#2801
For custom thrust namespace, ROCm 7.1.0 does not fully adapt the custom namespace in some place, but I believe they fix it in ROCm/rocm-libraries#1769
Need to check it when the new release comes.
For CUDA 13, server currently install it as usr/local package not from spack.
Thus, I add temporary lmod file during pre_script, which should not be necessary with spack setup. I can just keep the corresponding fix without including the ci and lmod. Or, keep the temporary workaround and then remove it when the server has that.