Skip to content

Make CUDA 12.6 compiler work on Fedora 40#206

Closed
AlexKurek wants to merge 3 commits intotikk3r:fedora-py3from
AlexKurek:Make-CUDA-12.6-work-with-GCC-14
Closed

Make CUDA 12.6 compiler work on Fedora 40#206
AlexKurek wants to merge 3 commits intotikk3r:fedora-py3from
AlexKurek:Make-CUDA-12.6-work-with-GCC-14

Conversation

@AlexKurek
Copy link
Contributor

@AlexKurek AlexKurek commented Jan 15, 2025

Description

This is the base to add CUDA to DP3 and Sagecal.
Explanation: https://negativo17.org/cuda-with-unsupported-gcc-versions/

Related: #151, #152.

@AlexKurek AlexKurek marked this pull request as draft January 15, 2025 07:36
@AlexKurek AlexKurek changed the title Make CUDA 12.6 work with GCC 14 Make CUDA 12.6 compiler work on Fedora 40 Jan 15, 2025
@AlexKurek AlexKurek marked this pull request as ready for review January 16, 2025 10:57
@AlexKurek AlexKurek mentioned this pull request Jan 16, 2025
@AlexKurek AlexKurek marked this pull request as draft January 16, 2025 11:30
@AlexKurek AlexKurek force-pushed the Make-CUDA-12.6-work-with-GCC-14 branch from becec90 to 8f89abb Compare January 16, 2025 16:49
@tikk3r
Copy link
Owner

tikk3r commented Jan 16, 2025

What does it do? CUDA has flags to enable unsupported compilers on its own, but I haven't had success with that.

@AlexKurek
Copy link
Contributor Author

It installs GCC 13 and redirects the calls to it (to version 13).

@tikk3r
Copy link
Owner

tikk3r commented Jan 16, 2025

It installs GCC 13 and redirects the calls to it (to version 13).

How much space does that take? There's not really any CUDA functionality that we use, so installing a whole second compiler suite is a bit overkill just to get CUDA.

@AlexKurek
Copy link
Contributor Author

AlexKurek commented Jan 16, 2025

It installs just 3 packages:

Installing:
 cuda-gcc              noarch 13.3.1-1.fc41          fedora-multimedi 244.0   B
Installing dependencies:
 gcc13                 x86_64 13.3.1-2.fc41.1        fedora           104.5 MiB
 gcc13-c++             x86_64 13.3.1-2.fc41.1        fedora            55.0 MiB

EDIT
...and I'm not sure if it will work. So far I have not had any success with it.

@AlexKurek
Copy link
Contributor Author

AlexKurek commented Jan 17, 2025

There's not really any CUDA functionality that we use

Isn't it like when e.g. DP3 sees that GPU is present and something can be computed faster by GPU - it will compute it using CUDA on GPU, even if a papielline is not (directly) using CUDA?
Only then would it be worth fighting for providing CUDA for DP3 I think.

@tikk3r
Copy link
Owner

tikk3r commented Jan 17, 2025

There's not really any CUDA functionality that we use

Isn't it like when e.g. DP3 sees that GPU is present and something can be computed faster by GPU - it will compute it using CUDA on GPU, even if a papielline is not (directly) using CUDA? Only then would it be worth fighting for providing CUDA for DP3 I think.

No it's not that simple unfortunately. From what I know there is only one specific solver mode that has a GPU version at the moment.

@AlexKurek
Copy link
Contributor Author

Understood. So I think I will close this PR. Please decide what to do with the other two: #151, #152. One option is to wait for a new version of CUDA that will support GCC 14 and then merge them.

@AlexKurek AlexKurek closed this Jan 17, 2025
@AlexKurek AlexKurek deleted the Make-CUDA-12.6-work-with-GCC-14 branch January 17, 2025 19:38
@tikk3r
Copy link
Owner

tikk3r commented Jan 18, 2025

Understood. So I think I will close this PR. Please decide what to do with the other two: #151, #152. One option is to wait for a new version of CUDA that will support GCC 14 and then merge them.

For DP3 it's hardcoded to off at the moment. It can be left like that for the time being. For Sagecal it'll depend how it uses it, IDG builds for example, so you'll just have to test it.

@AlexKurek
Copy link
Contributor Author

These #151 #152 both currently crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants