-
-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Package request: cuSolverMp (add Conda packages) #28294
base: main
Are you sure you want to change the base?
Conversation
Hi! This is the staged-recipes linter and your PR looks excellent! 🚀 |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipes/libcusolvermp/meta.yaml:
|
@adibbley @jakirkham @carterbox , I appreciate your review. |
- libcusolver # [(cuda_compiler_version or "").startswith("12")] | ||
- cuda-cudart # [(cuda_compiler_version or "").startswith("12")] | ||
- libcublas # [(cuda_compiler_version or "").startswith("12")] | ||
- libcal {{ libcal_version }} | ||
run: | ||
- libcusolver # [(cuda_compiler_version or "").startswith("12")] | ||
- cuda-cudart # [(cuda_compiler_version or "").startswith("12")] | ||
- libcublas # [(cuda_compiler_version or "").startswith("12")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we only support CUDA12 does it make sense to clean this up?
- libcusolver # [(cuda_compiler_version or "").startswith("12")] | |
- cuda-cudart # [(cuda_compiler_version or "").startswith("12")] | |
- libcublas # [(cuda_compiler_version or "").startswith("12")] | |
- libcal {{ libcal_version }} | |
run: | |
- libcusolver # [(cuda_compiler_version or "").startswith("12")] | |
- cuda-cudart # [(cuda_compiler_version or "").startswith("12")] | |
- libcublas # [(cuda_compiler_version or "").startswith("12")] | |
- libcusolver | |
- cuda-cudart | |
- libcublas | |
- libcal {{ libcal_version }} | |
run: | |
- libcusolver | |
- cuda-cudart | |
- libcublas |
{% set cuda_major = environ.get("cuda_compiler_version", "12.6").split(".")[0] %} | ||
|
||
package: | ||
name: libcusolvermp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name: libcusolvermp | |
name: libcusolvermp-split |
Use a non-output toplevel name and then add the feedstock-name extra at the bottom.
extra: | ||
recipe-maintainers: | ||
- conda-forge/cuda |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extra: | |
recipe-maintainers: | |
- conda-forge/cuda | |
extra: | |
feedstock-name: libcusolvermp | |
recipe-maintainers: | |
- conda-forge/cuda |
https://conda-forge.org/docs/maintainer/adding_pkgs/#feedstock-name
test: | ||
commands: | ||
- test -L $PREFIX/lib/libcusolverMp.so.0 | ||
- test -f $PREFIX/lib/libcusolverMp.so.{{ lib_version }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move this to the appropriate outputs section once the top-level name does not duplicate one of the outputs.
- libcusolver # [(cuda_compiler_version or "").startswith("12")] | ||
- cuda-cudart # [(cuda_compiler_version or "").startswith("12")] | ||
- libcublas # [(cuda_compiler_version or "").startswith("12")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why aren't we using the "-dev" packages? Because CUDA enhanced compatibility and we pin cuda-version in the run deps?
version: {{ version }} | ||
|
||
source: | ||
url: https://developer.download.nvidia.com/compute/cusolvermp/redist/libcusolvermp/{{ platform }}/libcusolvermp-{{ platform }}-{{ version }}_cuda{{ cuda_major }}-archive.{{ extension }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add conda-forge.yml
with the following contents to the libcusolvermp directory:
os_version:
linux_64: cos7
linux_aarch64: cos7
linux_ppc64le: cos7
Because this is a redist we want the os version of the container to have the oldest supported glibc version. In this case glibc 2.17 (unless that's not the case?)
about: | ||
home: https://docs.nvidia.com/cuda/cusolvermp/ | ||
license: LicenseRef-NVIDIA-End-User-License-Agreement | ||
license_file: LICENSE | ||
license_url: https://docs.nvidia.com/cuda/cusolvermp/license/index.html | ||
summary: NVIDIA cuSOLVERMp is a high-performance, distributed-memory, GPU-accelerated library that provides tools for the solution of dense linear systems and eigenvalue problems. | ||
description: | | ||
NVIDIA cuSOLVERMp is a high-performance, distributed-memory, GPU-accelerated library that provides tools for the solution of dense linear systems and eigenvalue problems. | ||
cuSOLVERMp is compatible with 2D block-cyclic data layout and provides ScaLAPACK-like C APIs. | ||
A companion library, CAL, contains utilities to manage communicators and to synchronize processes in a safe way. | ||
doc_url: https://docs.nvidia.com/cuda/cusolvermp/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once the top level is renamed to not collide with one of the outputs, these identical about
sections are redundant because they will inherit the top-level descriptions.
#27809
Checklist
url
) rather than a repo (e.g.git_url
) is used in your recipe (see here for more details).cuSolverMP only supports CUDA 12 on linux-64 and linux-aarch64. Please ignore CI failures for all other variants. I will have a followup PR to rerender CI config and enable aarch64. Thanks.