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

build: conda-forge #38

Open
casperdcl opened this issue Feb 19, 2024 · 0 comments
Open

build: conda-forge #38

casperdcl opened this issue Feb 19, 2024 · 0 comments
Assignees

Comments

@casperdcl
Copy link
Member

casperdcl commented Feb 19, 2024

potential alternative to #27:

conda-forge (CUDA and non-CUDA) recipe for the parallelproj projectors (libparallelproj) [...]: https://github.com/conda-forge/parallelproj-feedstock

The main things I learned/had to reali[s]e where:

  1. All your dependencies need to be on conda-forge
  2. For handling cuda in the meta.yaml, there is # [cuda_compiler_version != "None"] "decorator" to describe cuda/non-cuda specific things
  3. at runtime you need the virtual __cuda conda-forge package as dependency which helps the package manager to figure out which package version needs to be / can be installed on systems with and without cuda https://github.com/conda-forge/parallelproj-feedstock/blob/af55c92209af12cfad72f03078c24d0f0412045b/recipe/meta.yaml#L47
  4. for the builds there are no physical GPUs available meaning that all tests requiring GPUs need to be skipped (this might change in the future)
  5. In the build scripts, you can test the ${cuda_compiler_version} to trigger CUDA / non-cuda specific things https://github.com/conda-forge/parallelproj-feedstock/blob/af55c92209af12cfad72f03078c24d0f0412045b/recipe/build-parallelproj.sh#L7

I think the recipe for libparallelproj is a good starting point. Note that libparallelproj in the meta.yaml I build two packages (libparallelproj with CUDA and non-CUDA version, and also parallelproj which is a minimal python interface to the libs).

The conda-forge team on gitter.im also helped me a lot in the beginning.

@gschramm

@casperdcl casperdcl self-assigned this Feb 19, 2024
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

1 participant