Skip to content

Cannot instantiate GNSSReceiver due to Unsatisfiable requirements detected for package CUDA [052768df] #38

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

Open
adam-jahraus opened this issue Oct 15, 2024 · 7 comments

Comments

@adam-jahraus
Copy link

Due to the transient dependency on CUDA.jl via Tracking.jl, I cannot add GNSSReceiver.jl on my machine, as it has an AMD GPU.

Additionally, Tracking.jl's readme indicates that the GPU implementation is not as performant as the CPU implementation, which to me indicates it's an experimental feature. It would be very helpful if the CUDA.jl dependency could be changed to an optional dependency, so that those of us without Nvidia GPUs can still use this package.

@adam-jahraus
Copy link
Author

This is extra strange, because if I clone Tracking.jl locally, I can run the Tests perfectly fine. Further investigation ensuing.

@adam-jahraus
Copy link
Author

Indeed, when I clone this repo locally, and try to run the tests, I get the error again:

image

@adam-jahraus adam-jahraus changed the title Cannot run ] add GNSSReceiver on a machine which does not support CUDA (i.e. those with AMD GPUs) Cannot instantiate GNSSReceiver due to Unsatisfiable requirements detected for package CUDA [052768df] Oct 17, 2024
@adam-jahraus
Copy link
Author

This seems to be some sort of compatibility issue, but it might be due to GNSSReceiver.jl not being up to date with the latest Tracking.jl (or perhaps GNSSSignals.jl)? Or it could just be something in the Project.toml that's out of sync, it's not obvious to me.

@zsoerenm
Copy link
Member

I'm sorry for the bad experience.
Yes, GNSSReceiver isn't yet compatible with the latest changes from Tracking.jl and GNSSSignals.jl
However, it should still be possible if you just add GNSSReceiver. It doesn't matter if your computer has a CUDA graphics card or not. CUDA.jl will recognize that automatically and it will not load.
My guess is that your Julia version is too new and the old CUDA version isn't compatible with that.
So could you try Julia v1.7 or v1.8?

That being sad, I'd like to update GNSSReceiver with latest changes in Tracking.jl soon ;)

@adam-jahraus
Copy link
Author

adam-jahraus commented Oct 21, 2024

Ah good point, I didn't even think to try this with a version of Julia besides 1.11, I just have juliaup default to release. I'll see if I can narrow down the problem to a particular version.

If I can figure out a solution, I'll make a PR 😁

@adam-jahraus
Copy link
Author

I can confirm that GNSSReceiver.jl does in fact instantiate on Julia v1.9, but not on Julia v1.10 or v1.11.

@ErikBuer
Copy link

I'm sorry for the bad experience. Yes, GNSSReceiver isn't yet compatible with the latest changes from Tracking.jl and GNSSSignals.jl However, it should still be possible if you just add GNSSReceiver. It doesn't matter if your computer has a CUDA graphics card or not. CUDA.jl will recognize that automatically and it will not load. My guess is that your Julia version is too new and the old CUDA version isn't compatible with that. So could you try Julia v1.7 or v1.8?

That being sad, I'd like to update GNSSReceiver with latest changes in Tracking.jl soon ;)

@zsoerenm, could you elaborate on what changes are necessary?
Perhaps open some issues on the necessary changes so others can see the scope and help :)

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

No branches or pull requests

3 participants