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
Installation issue: gromacs fail due to cuda compute_30 (dropped in cuda11) #18239
Comments
This seems to be coming from gromacs upstream:
Looks like they haven't caught up to CUDA 11. One solution would be to simply remove this line (via patch) if CUDA version is 11+. |
Upstream issue at https://gitlab.com/gromacs/gromacs/-/issues/3632 |
Changes proposed at https://gitlab.com/gromacs/gromacs/-/merge_requests/461 would likely work in the meantime (and similar would be needed for earlier GROMACS release branches, although those are no longer supported upstream). |
Not yet, but on the other hand, CUDA 11 seems to have deprecated compute capability 3.0 overnight (?).
For <=v2020.4 that is a reasonable workaround; alternatively, the spack config could explicitly override the CUDA targets on the CMake invocation, e.g. |
We have mostly K80s here (but a few newer cards). Would be quite handy if this worked by default, or at least with some extra '+' flag or something. |
Not sure what do you mean by '+' flag, can you elaborate? As noted above you can pass those extra CMake flags at configure-time and you'll get essentially the same set of flags (and behavor) as the upstream fix implements. |
I'm not exactly sure what I mean either, but I had in mind a "spack-ish" syntax to specify which cards to support, if that seems necessary. Just supporting all possible cards would be great as well, and maybe doesn't need a flag?
An additional possibility, though more work, would be to move all of this decision-making/flags to the 'cuda' spack module. Then spack packages that depend on that module could be taught to do what it said, rather than trying to guess the right values themselves.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
…On Tuesday, August 25, 2020 10:02 AM, Szilárd Páll ***@***.***> wrote:
> We have mostly K80s here (but a few newer cards). Would be quite handy if this worked by default, or at least with some extra '+' flag or something.
Not sure what do you mean by '+' flag, can you elaborate? As noted above you can pass those extra CMake flags at configure-time and you'll get essentially the same set of flags (and behavor) as the upstream fix implements.
—
You are receiving this because you authored the thread.
Reply to this email directly, [view it on GitHub](#18239 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AAABIAEASQSHH3Q3GBBBLTLSCPVDHANCNFSM4QJXJZEQ).
|
I can unfortunately not help with that.
The GROMACS build system already does that. In this case that mechanism does not work well enough because a GPU architecture was deprecated without advance notice and the GROMACS build system is not yet adapted to the CUDA 11 limitations. |
Fix is merged and will be included in 2020.4 |
For a temporary solution: you can merely download their upstream release from here that fixed the cuda-11 not compatible issue. and put them to The checksum can be gotten by Then you can simply run |
@victoryang00, your link leads to a "404 Git Resource Not found". |
2020.4 will be released soon, so let's just wait. |
Omitting a lot, as I believe nvcc from cuda-11.x simply will not generate compute_30 code, thus the error message.
See http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
Default solution is to just remove compute_30. More complex would be to allow different CUDA versions and adjust the generated code to match.
Steps to reproduce the issue
Information on your system
Additional information
General information
spack debug report
and reported the version of Spack/Python/Platformspack maintainers <name-of-the-package>
and @mentioned any maintainersThe text was updated successfully, but these errors were encountered: