-
-
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?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
{% set version = "0.5.1" %} | ||
|
||
package: | ||
name: cusolvermp | ||
version: {{ version }} | ||
|
||
source: | ||
url: https://developer.download.nvidia.com/compute/cusolvermp/redist/libcusolvermp/LICENSE.txt | ||
sha256: c2a95a3d181879325e56333d7a592bb6ba5ab3a44bfde9574513ccc2f87f9c68 | ||
|
||
build: | ||
number: 0 | ||
noarch: generic | ||
|
||
requirements: | ||
run: | ||
- libcal-dev 0.4.4.50 | ||
- libcusolvermp-dev 0.5.1.690 | ||
|
||
test: | ||
commands: | ||
- exit 0 | ||
|
||
about: | ||
home: https://developer.nvidia.com/cuda-toolkit | ||
license_file: LICENSE.txt | ||
license: LicenseRef-NVIDIA-End-User-License-Agreement | ||
license_url: https://docs.nvidia.com/cuda/eula/index.html | ||
summary: Meta-package containing all NVIDIA cuSOLVERMp packages, not intended for use in a conda-build context. | ||
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/index.html | ||
|
||
extra: | ||
recipe-maintainers: | ||
- conda-forge/cuda |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,118 @@ | ||||||||||||||||||||||||||||||||||
{% set version = "0.5.1.690" %} | ||||||||||||||||||||||||||||||||||
{% set libcal_version = "0.4.4.50" %} | ||||||||||||||||||||||||||||||||||
{% set lib_version = version.split(".")[0]+"."+version.split(".")[1]+"."+version.split(".")[2]+".0" %} | ||||||||||||||||||||||||||||||||||
{% set platform = "linux-x86_64" %} # [linux64] | ||||||||||||||||||||||||||||||||||
{% set platform = "linux-sbsa" %} # [aarch64] | ||||||||||||||||||||||||||||||||||
{% set extension = "tar.xz" %} | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
{% set cuda_major = environ.get("cuda_compiler_version", "12.6").split(".")[0] %} | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
package: | ||||||||||||||||||||||||||||||||||
name: libcusolvermp | ||||||||||||||||||||||||||||||||||
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 commentThe reason will be displayed to describe this comment to others. Learn more. Please add 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?) |
||||||||||||||||||||||||||||||||||
sha256: ea12f900a6a01e5ed6d4907d15e01ed017c903d9fae4c0da5798a7e71c90db66 # [linux64 and (cuda_compiler_version or "").startswith("12")] | ||||||||||||||||||||||||||||||||||
sha256: 16799e30ff56e1eac31e35a4e94bc0971ef98b6352c9f278fd28954e384c7181 # [aarch64 and (cuda_compiler_version or "").startswith("12")] | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
build: | ||||||||||||||||||||||||||||||||||
number: 0 | ||||||||||||||||||||||||||||||||||
skip: true # [not (linux64 or aarch64)] | ||||||||||||||||||||||||||||||||||
skip: true # [cuda_compiler_version in (None, "None") or (cuda_compiler_version or "").startswith("11")] | ||||||||||||||||||||||||||||||||||
script: | ||||||||||||||||||||||||||||||||||
- cp -rv include $PREFIX | ||||||||||||||||||||||||||||||||||
- cp -rv lib $PREFIX | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
test: | ||||||||||||||||||||||||||||||||||
commands: | ||||||||||||||||||||||||||||||||||
- test -L $PREFIX/lib/libcusolverMp.so.0 | ||||||||||||||||||||||||||||||||||
- test -f $PREFIX/lib/libcusolverMp.so.{{ lib_version }} | ||||||||||||||||||||||||||||||||||
Comment on lines
+27
to
+30
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
outputs: | ||||||||||||||||||||||||||||||||||
- name: libcusolvermp | ||||||||||||||||||||||||||||||||||
build: | ||||||||||||||||||||||||||||||||||
run_exports: | ||||||||||||||||||||||||||||||||||
- {{ pin_subpackage("libcusolvermp", max_pin="x") }} | ||||||||||||||||||||||||||||||||||
files: | ||||||||||||||||||||||||||||||||||
- lib/libcusolverMp.so.* | ||||||||||||||||||||||||||||||||||
requirements: | ||||||||||||||||||||||||||||||||||
build: | ||||||||||||||||||||||||||||||||||
- {{ compiler('c') }} | ||||||||||||||||||||||||||||||||||
- {{ compiler('cxx') }} | ||||||||||||||||||||||||||||||||||
- {{ compiler('cuda') }} | ||||||||||||||||||||||||||||||||||
- arm-variant * {{ arm_variant_type }} # [aarch64] | ||||||||||||||||||||||||||||||||||
- {{ stdlib("c") }} | ||||||||||||||||||||||||||||||||||
host: | ||||||||||||||||||||||||||||||||||
- cuda-version {{ cuda_compiler_version }} | ||||||||||||||||||||||||||||||||||
- libcusolver # [(cuda_compiler_version or "").startswith("12")] | ||||||||||||||||||||||||||||||||||
- cuda-cudart # [(cuda_compiler_version or "").startswith("12")] | ||||||||||||||||||||||||||||||||||
- libcublas # [(cuda_compiler_version or "").startswith("12")] | ||||||||||||||||||||||||||||||||||
Comment on lines
+48
to
+50
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? |
||||||||||||||||||||||||||||||||||
- 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")] | ||||||||||||||||||||||||||||||||||
Comment on lines
+48
to
+55
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Suggested change
|
||||||||||||||||||||||||||||||||||
- {{ pin_compatible("cuda-version", max_pin="x") }} | ||||||||||||||||||||||||||||||||||
- {{ pin_compatible("libcal", exact=True) }} | ||||||||||||||||||||||||||||||||||
run_constrained: | ||||||||||||||||||||||||||||||||||
- arm-variant * {{ arm_variant_type }} # [aarch64] | ||||||||||||||||||||||||||||||||||
# Tests are defined at the top level, due to package/output name conflicts. | ||||||||||||||||||||||||||||||||||
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/ | ||||||||||||||||||||||||||||||||||
Comment on lines
+61
to
+71
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
- name: libcusolvermp-dev | ||||||||||||||||||||||||||||||||||
build: | ||||||||||||||||||||||||||||||||||
run_exports: | ||||||||||||||||||||||||||||||||||
- {{ pin_subpackage("libcusolvermp", max_pin="x") }} | ||||||||||||||||||||||||||||||||||
files: | ||||||||||||||||||||||||||||||||||
- lib/libcusolverMp.so | ||||||||||||||||||||||||||||||||||
- include/cusolverMp.h | ||||||||||||||||||||||||||||||||||
requirements: | ||||||||||||||||||||||||||||||||||
host: | ||||||||||||||||||||||||||||||||||
- cuda-version {{ cuda_compiler_version }} | ||||||||||||||||||||||||||||||||||
run: | ||||||||||||||||||||||||||||||||||
- {{ pin_compatible("cuda-version", max_pin="x") }} | ||||||||||||||||||||||||||||||||||
- {{ pin_subpackage("libcusolvermp", exact=True) }} | ||||||||||||||||||||||||||||||||||
run_constrained: | ||||||||||||||||||||||||||||||||||
- arm-variant * {{ arm_variant_type }} # [aarch64] | ||||||||||||||||||||||||||||||||||
test: | ||||||||||||||||||||||||||||||||||
commands: | ||||||||||||||||||||||||||||||||||
- test -f $PREFIX/include/cusolverMp.h | ||||||||||||||||||||||||||||||||||
- test -L $PREFIX/lib/libcusolverMp.so | ||||||||||||||||||||||||||||||||||
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/ | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
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/ | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
extra: | ||||||||||||||||||||||||||||||||||
recipe-maintainers: | ||||||||||||||||||||||||||||||||||
- conda-forge/cuda | ||||||||||||||||||||||||||||||||||
Comment on lines
+116
to
+118
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
https://conda-forge.org/docs/maintainer/adding_pkgs/#feedstock-name |
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.
Use a non-output toplevel name and then add the feedstock-name extra at the bottom.