Skip to content
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

Instead of separate packages did we want to use extensions? #5

Closed
ptiede opened this issue Jan 7, 2025 · 3 comments
Closed

Instead of separate packages did we want to use extensions? #5

ptiede opened this issue Jan 7, 2025 · 3 comments

Comments

@ptiede
Copy link
Member

ptiede commented Jan 7, 2025

I noticed that we are making a bunch of packages. Would it be easier to just use Julia package extensions for this?
This is described here https://pkgdocs.julialang.org/v1/creating-packages/#Conditional-loading-of-code-in-packages-(Extensions)

The benefit is that we can all put this into a single repo, and the code will be automatically loaded when a user, e.g., imports CUDA.
That way, they don't need to import several separate packages, and the registration procedure should be simplified for us.

@kazuakiyama
Copy link
Member

This is a good idea indeed --- I didn't know about this capability so thanks! I would still keep AbstractFastHartleyTransform.jl separate from this particular one, but it is indeed a good idea to have CUDA (and perhaps AMDGPU one using rocFFT) inside this package in this way.

@kazuakiyama
Copy link
Member

kazuakiyama commented Jan 9, 2025

I added FastHartleyTransformCUDAExt in ext using weakdep, and then removed FastHartleyTransformCUDAExt.jl. I can add the rocFFT version by replacing CuArray/CUFFT to rocArray/rocFFT but I can't test because I don't have a AMD GPU now....

Anyway, it works ok with my local nvidia's GPU. I will move forward to registering this package.

@kazuakiyama
Copy link
Member

I will close this issue as I have officially released the first version (which is now being registered to the Julia package repo). Feel free to open the issue again if needed.

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

2 participants