From ed8ff30a7df288d2bc3ecce22fd3e099205c63b0 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 11:20:45 +0000 Subject: [PATCH 01/47] Add libcufft recipy --- recipes/cuda-libcufft/bld.bat | 17 +++++++ recipes/cuda-libcufft/build.sh | 11 +++++ recipes/cuda-libcufft/meta.yaml | 86 +++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 recipes/cuda-libcufft/bld.bat create mode 100644 recipes/cuda-libcufft/build.sh create mode 100644 recipes/cuda-libcufft/meta.yaml diff --git a/recipes/cuda-libcufft/bld.bat b/recipes/cuda-libcufft/bld.bat new file mode 100644 index 0000000000000..6af6c302f87a4 --- /dev/null +++ b/recipes/cuda-libcufft/bld.bat @@ -0,0 +1,17 @@ +if not exist %PREFIX% mkdir %PREFIX% + +rem Directories... +for /D %%i in (.\*) do ( + robocopy /E %%i %PREFIX%\%%i +) + +rem Files... +for %%i in (.\*) do ( + if not %%~ni==build_env_setup ( + if not %%~ni==conda_build ( + if not %%~ni==metadata_conda_debug ( + xcopy %%i %PREFIX% + ) + ) + ) +) diff --git a/recipes/cuda-libcufft/build.sh b/recipes/cuda-libcufft/build.sh new file mode 100644 index 0000000000000..90d3238f2286d --- /dev/null +++ b/recipes/cuda-libcufft/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Install to conda style directories +[[ -d lib64 ]] && mv lib64 lib + +for i in `ls`; do + [[ $i == "build_env_setup.sh" ]] && continue + [[ $i == "conda_build.sh" ]] && continue + [[ $i == "metadata_conda_debug.yaml" ]] && continue + cp -r $i ${PREFIX} +done diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml new file mode 100644 index 0000000000000..ad70537849aa3 --- /dev/null +++ b/recipes/cuda-libcufft/meta.yaml @@ -0,0 +1,86 @@ +{% set name = "cufft" %} +{% set version = "11.0.0.21" %} +{% set platform = "linux-x86_64" %} # [linux64] +{% set platform = "linux-ppc64le" %} # [ppc64le] +{% set platform = "linux-sbsa" %} # [aarch64] +{% set platform = "windows-x86_64" %} # [win] +{% set extension = "tar.xz" %} # [not win] +{% set extension = "zip" %} # [win] + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://developer.download.nvidia.com/compute/cuda/redist/libcufft/{{ platform }}/libcufft-{{ platform }}-{{ version }}-archive.{{ extension }} + sha256: 4650f79fcf377af410afedb56445f1332e8f213ec3c94d660f9a91328c3ecb4a # [linux64] + sha256: e711671995e9d92d16015a4cd3751ec30710a49fa22f2b88a4a42905c248d861 # [ppc64le] + sha256: 91aa1ba5e68ca65778222c9a427a9214c4550d2f45e978e51779a207bafc17a3 # [aarch64] + sha256: a33f577d48ef432d5cfa8d0ebfa789cc5261af5dd84fd9c608235edc3f769e43 # [win] + + +build: + number: 0 + skip: true # [osx] + missing_dso_whitelist: + - /lib64/libdl.so.2 + - /lib64/libm.so.6 + - /lib64/libpthread.so.0 + - /lib64/librt.so.1 + - /lib64/libgcc_s.so.1 + - /lib64/libc.so.6 + - /lib64/ld-linux-x86-64.so.2 + + +outputs: + - name: libcufft + test: + commands: + - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] + - if not exists %LIBRARY_BIN%\cufft64*.dll exit 1 # [win] + files: + - lib/libcufft*.so.* # [linux] + - bin\cufft*.dll + + - name: libcufft-dev + test: + commands: + - test -f $PREFIX/include/cufft.h # [linux] + - if not exists %LIBRARY_LIB%\cufft.lib exit 1 # [win] + requirements: + run: + - libcufft >={{ version }} + files: + - lib/stubs/libcufft*.so # [linux] + - libcufft*.so* # [linux] + - include/cufft* # [linux] + - include\cufft* # [win] + - include\cudalibxt* # [win] + + - name: libcufft-static + test: + commands: + - test -f $PREFIX/lib/libcufft_static.a # [linux] + requirements: + run: + - libcufft-dev >={{ version }} + files: + - lib/libcufft*_static.a # [linux] + - lib/libcufft_static_nocallback.a # [linux] + + +about: + home: https://developer.nvidia.com/cuda-toolkit + license_file: LICENSE + license: LicenseRef-NVIDIA-End-User-License-Agreement + license_url: https://docs.nvidia.com/cuda/eula/index.html + summary: 'cuFFT native runtime libraries' + description: | + The CUDA Fast Fourier Transform library + doc_url: https://docs.nvidia.com/cuda/cufft/index.html + +extra: + recipe-maintainers: + - adibbley + - jakirkham + - seberg From c25e9f4b07e19b4f20c46c528ebcbdae7abfd0cb Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 14:22:25 +0100 Subject: [PATCH 02/47] Skip libcufft-static on windows (non-linux) --- recipes/cuda-libcufft/meta.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index ad70537849aa3..83a4cef284833 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -58,15 +58,17 @@ outputs: - include\cudalibxt* # [win] - name: libcufft-static + build: + skip: True # [not linux] test: commands: - - test -f $PREFIX/lib/libcufft_static.a # [linux] + - test -f $PREFIX/lib/libcufft_static.a requirements: run: - libcufft-dev >={{ version }} files: - - lib/libcufft*_static.a # [linux] - - lib/libcufft_static_nocallback.a # [linux] + - lib/libcufft*_static.a + - lib/libcufft_static_nocallback.a about: From 6b860dff774dcbde3ff1c8adccf3169de1316269 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 15:03:09 +0100 Subject: [PATCH 03/47] Add libcudart as a dependency (is >= 12.0 good?) --- recipes/cuda-libcufft/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index 83a4cef284833..df8c756798cd5 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -50,6 +50,7 @@ outputs: requirements: run: - libcufft >={{ version }} + - cuda-cudart >=12.0 files: - lib/stubs/libcufft*.so # [linux] - libcufft*.so* # [linux] From ac37e276f5f928bb76ec4c21099730cc262b18bd Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 15:19:19 +0100 Subject: [PATCH 04/47] Fix windows file check test --- recipes/cuda-libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index df8c756798cd5..e7cbef4d02273 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -37,7 +37,7 @@ outputs: test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - - if not exists %LIBRARY_BIN%\cufft64*.dll exit 1 # [win] + - if not exists %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] files: - lib/libcufft*.so.* # [linux] - bin\cufft*.dll From 3299c09585fad31f2b8800f60a5db4579edeef51 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 15:21:02 +0100 Subject: [PATCH 05/47] Comment out cuda-cudart dependency for the time being --- recipes/cuda-libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index e7cbef4d02273..b4d3589494fc1 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -50,7 +50,7 @@ outputs: requirements: run: - libcufft >={{ version }} - - cuda-cudart >=12.0 + # - cuda-cudart >=12.0 files: - lib/stubs/libcufft*.so # [linux] - libcufft*.so* # [linux] From adb7c8a747b2f3b0ec6ba8794b8bc64a82b299e1 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 16:01:34 +0100 Subject: [PATCH 06/47] Model windows bld.bat after the cudart pattern --- recipes/cuda-libcufft/bld.bat | 18 +++--------------- recipes/cuda-libcufft/meta.yaml | 5 ++--- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/recipes/cuda-libcufft/bld.bat b/recipes/cuda-libcufft/bld.bat index 6af6c302f87a4..57ba00afb97f9 100644 --- a/recipes/cuda-libcufft/bld.bat +++ b/recipes/cuda-libcufft/bld.bat @@ -1,17 +1,5 @@ if not exist %PREFIX% mkdir %PREFIX% -rem Directories... -for /D %%i in (.\*) do ( - robocopy /E %%i %PREFIX%\%%i -) - -rem Files... -for %%i in (.\*) do ( - if not %%~ni==build_env_setup ( - if not %%~ni==conda_build ( - if not %%~ni==metadata_conda_debug ( - xcopy %%i %PREFIX% - ) - ) - ) -) +move lib\x64\* %LIBRARY_LIB% +move bin\* %LIBRARY_BIN% +move include\* %LIBRARY_INC% diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index b4d3589494fc1..d840740cf3f7f 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -40,7 +40,7 @@ outputs: - if not exists %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] files: - lib/libcufft*.so.* # [linux] - - bin\cufft*.dll + - Library\bin # [win] - name: libcufft-dev test: @@ -55,8 +55,7 @@ outputs: - lib/stubs/libcufft*.so # [linux] - libcufft*.so* # [linux] - include/cufft* # [linux] - - include\cufft* # [win] - - include\cudalibxt* # [win] + - Library\include # [win] - name: libcufft-static build: From 1ee243478385daf76542ec54bc7c3c173f7cbaeb Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 16:08:08 +0100 Subject: [PATCH 07/47] Apply suggestions from code review Thanks to adibbley Co-authored-by: adibbley <103537006+adibbley@users.noreply.github.com> --- recipes/cuda-libcufft/build.sh | 17 ++++++++++++++++- recipes/cuda-libcufft/meta.yaml | 23 +++++++++++++++-------- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/recipes/cuda-libcufft/build.sh b/recipes/cuda-libcufft/build.sh index 90d3238f2286d..a8d611011fbd8 100644 --- a/recipes/cuda-libcufft/build.sh +++ b/recipes/cuda-libcufft/build.sh @@ -2,10 +2,25 @@ # Install to conda style directories [[ -d lib64 ]] && mv lib64 lib +[[ -d pkg-config ]] && mv pkg-config ${PREFIX}/lib/pkgconfig +[[ -d "$PREFIX/lib/pkgconfig" ]] && sed -E -i "s|cudaroot=.+|cudaroot=$PREFIX|g" $PREFIX/lib/pkgconfig/cuda*.pc + +[[ ${target_platform} == "linux-64" ]] && targetsDir="targets/x86_64-linux" +[[ ${target_platform} == "linux-ppc64le" ]] && targetsDir="targets/ppc64le-linux" +[[ ${target_platform} == "linux-aarch64" ]] && targetsDir="targets/sbsa-linux" for i in `ls`; do [[ $i == "build_env_setup.sh" ]] && continue [[ $i == "conda_build.sh" ]] && continue [[ $i == "metadata_conda_debug.yaml" ]] && continue - cp -r $i ${PREFIX} + if [[ $i == "lib" ]] || [[ $i == "include" ]]; then + mkdir -p ${PREFIX}/${targetsDir} + mkdir -p ${PREFIX}/$i + cp -rv $i ${PREFIX}/${targetsDir} + for j in `ls $i`; do + ln -s ../${targetsDir}/$i/$j ${PREFIX}/$i/$j + done + else + cp -rv $i ${PREFIX} + fi done diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index d840740cf3f7f..3556e9105c123 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -22,14 +22,20 @@ source: build: number: 0 skip: true # [osx] - missing_dso_whitelist: - - /lib64/libdl.so.2 - - /lib64/libm.so.6 - - /lib64/libpthread.so.0 - - /lib64/librt.so.1 - - /lib64/libgcc_s.so.1 - - /lib64/libc.so.6 - - /lib64/ld-linux-x86-64.so.2 + run_exports: + strong: + - __glibc >=2.17 + +requirements: + build: + - {{ compiler("c") }} + - {{ compiler("cxx") }} + host: + - sysroot_{{ target_platform }} 2.17 # [linux] + - __glibc >=2.17 # [linux] + run: + - sysroot_{{ target_platform }} 2.17 # [linux] + - __glibc >=2.17 # [linux] outputs: @@ -40,6 +46,7 @@ outputs: - if not exists %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] files: - lib/libcufft*.so.* # [linux] + - targets/*/lib/*.so.* # [linux] - Library\bin # [win] - name: libcufft-dev From 6a46f3e8e3e510b54fd8113da9330d3af9df8115 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 16:23:01 +0100 Subject: [PATCH 08/47] Fixup pkgconfig file paths --- recipes/cuda-libcufft/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cuda-libcufft/build.sh b/recipes/cuda-libcufft/build.sh index a8d611011fbd8..6019b6f4dacc3 100644 --- a/recipes/cuda-libcufft/build.sh +++ b/recipes/cuda-libcufft/build.sh @@ -3,7 +3,7 @@ # Install to conda style directories [[ -d lib64 ]] && mv lib64 lib [[ -d pkg-config ]] && mv pkg-config ${PREFIX}/lib/pkgconfig -[[ -d "$PREFIX/lib/pkgconfig" ]] && sed -E -i "s|cudaroot=.+|cudaroot=$PREFIX|g" $PREFIX/lib/pkgconfig/cuda*.pc +[[ -d "$PREFIX/lib/pkgconfig" ]] && sed -E -i "s|cudaroot=.+|cudaroot=$PREFIX|g" $PREFIX/lib/pkgconfig/cufft*.pc [[ ${target_platform} == "linux-64" ]] && targetsDir="targets/x86_64-linux" [[ ${target_platform} == "linux-ppc64le" ]] && targetsDir="targets/ppc64le-linux" From bc392d0d922e937665ee13d7348dee5ab42e7020 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 16:27:57 +0100 Subject: [PATCH 09/47] Apply further changes (to includes) which got forgotten due to conflict Also generally align all skips within a block to maximum indent --- recipes/cuda-libcufft/meta.yaml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index 3556e9105c123..c30a9b83c3eb3 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -42,27 +42,31 @@ outputs: - name: libcufft test: commands: - - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] + - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - if not exists %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] files: - - lib/libcufft*.so.* # [linux] + - lib/libcufft*.so.* # [linux] - targets/*/lib/*.so.* # [linux] - - Library\bin # [win] + - Library\bin # [win] - name: libcufft-dev test: commands: - - test -f $PREFIX/include/cufft.h # [linux] + - test -f $PREFIX/include/cufft.h # [linux] - if not exists %LIBRARY_LIB%\cufft.lib exit 1 # [win] requirements: run: - libcufft >={{ version }} # - cuda-cudart >=12.0 files: - - lib/stubs/libcufft*.so # [linux] - - libcufft*.so* # [linux] - - include/cufft* # [linux] - - Library\include # [win] + - lib/*.so # [linux] + - targets/*/lib/*.so # [linux] + - lib/stubs # [linux] + - include # [linux] + - targets/*/include/* # [linux] + - lib/pkgconfig # [linux] + - Library\include # [win] + - Library\lib # [win] - name: libcufft-static build: From aea06580fcb297f4121ed9fb90320fc08ce8b592 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 17:12:56 +0100 Subject: [PATCH 10/47] Mark run_exoports as linux (also in cudart) and rename to cuda-libcufft* --- recipes/cuda-libcufft/meta.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/cuda-libcufft/meta.yaml index c30a9b83c3eb3..f47f7fd4bb6c3 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/cuda-libcufft/meta.yaml @@ -22,9 +22,9 @@ source: build: number: 0 skip: true # [osx] - run_exports: - strong: - - __glibc >=2.17 + run_exports: # [linux] + strong: # [linux] + - __glibc >=2.17 # [linux] requirements: build: @@ -39,7 +39,7 @@ requirements: outputs: - - name: libcufft + - name: cuda-libcufft test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] @@ -49,14 +49,14 @@ outputs: - targets/*/lib/*.so.* # [linux] - Library\bin # [win] - - name: libcufft-dev + - name: cuda-libcufft-dev test: commands: - test -f $PREFIX/include/cufft.h # [linux] - if not exists %LIBRARY_LIB%\cufft.lib exit 1 # [win] requirements: run: - - libcufft >={{ version }} + - cuda-libcufft >={{ version }} # - cuda-cudart >=12.0 files: - lib/*.so # [linux] @@ -68,7 +68,7 @@ outputs: - Library\include # [win] - Library\lib # [win] - - name: libcufft-static + - name: cuda-libcufft-static build: skip: True # [not linux] test: @@ -76,7 +76,7 @@ outputs: - test -f $PREFIX/lib/libcufft_static.a requirements: run: - - libcufft-dev >={{ version }} + - cuda-libcufft-dev >={{ version }} files: - lib/libcufft*_static.a - lib/libcufft_static_nocallback.a From ccfd086d6ac309e6fa3aa7596badb27362baa496 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 17:26:18 +0100 Subject: [PATCH 11/47] Remova cuda- prefix again (and rename folder, not sure it matters) --- recipes/{cuda-libcufft => libcufft}/bld.bat | 0 recipes/{cuda-libcufft => libcufft}/build.sh | 0 recipes/{cuda-libcufft => libcufft}/meta.yaml | 10 +++++----- 3 files changed, 5 insertions(+), 5 deletions(-) rename recipes/{cuda-libcufft => libcufft}/bld.bat (100%) rename recipes/{cuda-libcufft => libcufft}/build.sh (100%) rename recipes/{cuda-libcufft => libcufft}/meta.yaml (94%) diff --git a/recipes/cuda-libcufft/bld.bat b/recipes/libcufft/bld.bat similarity index 100% rename from recipes/cuda-libcufft/bld.bat rename to recipes/libcufft/bld.bat diff --git a/recipes/cuda-libcufft/build.sh b/recipes/libcufft/build.sh similarity index 100% rename from recipes/cuda-libcufft/build.sh rename to recipes/libcufft/build.sh diff --git a/recipes/cuda-libcufft/meta.yaml b/recipes/libcufft/meta.yaml similarity index 94% rename from recipes/cuda-libcufft/meta.yaml rename to recipes/libcufft/meta.yaml index f47f7fd4bb6c3..5ea7d1e0befef 100644 --- a/recipes/cuda-libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -39,7 +39,7 @@ requirements: outputs: - - name: cuda-libcufft + - name: libcufft test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] @@ -49,14 +49,14 @@ outputs: - targets/*/lib/*.so.* # [linux] - Library\bin # [win] - - name: cuda-libcufft-dev + - name: libcufft-dev test: commands: - test -f $PREFIX/include/cufft.h # [linux] - if not exists %LIBRARY_LIB%\cufft.lib exit 1 # [win] requirements: run: - - cuda-libcufft >={{ version }} + - libcufft >={{ version }} # - cuda-cudart >=12.0 files: - lib/*.so # [linux] @@ -68,7 +68,7 @@ outputs: - Library\include # [win] - Library\lib # [win] - - name: cuda-libcufft-static + - name: libcufft-static build: skip: True # [not linux] test: @@ -76,7 +76,7 @@ outputs: - test -f $PREFIX/lib/libcufft_static.a requirements: run: - - cuda-libcufft-dev >={{ version }} + - libcufft-dev >={{ version }} files: - lib/libcufft*_static.a - lib/libcufft_static_nocallback.a From 75d2917b58f2308288136b4ab36cbf1bf11a0d99 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 30 Jan 2023 20:59:03 +0100 Subject: [PATCH 12/47] readd missing_dso_whitelist although I somewhat assume there is a better way --- recipes/libcufft/meta.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 5ea7d1e0befef..8147e947a1528 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -25,6 +25,15 @@ build: run_exports: # [linux] strong: # [linux] - __glibc >=2.17 # [linux] + missing_dso_whitelist: + - /lib64/libdl.so.2 # [linux] + - /lib64/libm.so.6 # [linux] + - /lib64/libpthread.so.0 # [linux] + - /lib64/librt.so.1 # [linux] + - /lib64/libgcc_s.so.1 # [linux] + - /lib64/libc.so.6 # [linux] + - /lib64/ld-linux-x86-64.so.2 # [linux] + requirements: build: From d4040eda2ecd18e6d66bf38d8c6126a35debbba3 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 31 Jan 2023 10:45:15 +0100 Subject: [PATCH 13/47] Add targets/*/lib/*.a to static export The symlink was there but pointed no-where since targets was missing this fixes that issue --- recipes/libcufft/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 8147e947a1528..866e1cbca103d 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -87,6 +87,8 @@ outputs: run: - libcufft-dev >={{ version }} files: + - targets/*/lib/libcufft*_static.a + - targets/*/lib/libcufft_static_nocallback.a - lib/libcufft*_static.a - lib/libcufft_static_nocallback.a From 1bb6383246c808a2ec2ae9a4d7bde2222fda2a80 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 31 Jan 2023 11:22:50 +0100 Subject: [PATCH 14/47] Its `if not exist` not, `if not exists` Also cudart-dev would be the dependency for the dev lib of course. --- recipes/libcufft/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 866e1cbca103d..c095b9b0a81cb 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -52,7 +52,7 @@ outputs: test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - - if not exists %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] + - if not exist %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] files: - lib/libcufft*.so.* # [linux] - targets/*/lib/*.so.* # [linux] @@ -62,11 +62,11 @@ outputs: test: commands: - test -f $PREFIX/include/cufft.h # [linux] - - if not exists %LIBRARY_LIB%\cufft.lib exit 1 # [win] + - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] requirements: run: - libcufft >={{ version }} - # - cuda-cudart >=12.0 + # - cuda-cudart-dev >=12.0 files: - lib/*.so # [linux] - targets/*/lib/*.so # [linux] From eac3f3b294dd5ef33d593c9e78e961f710098ce8 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 31 Jan 2023 22:18:46 +0100 Subject: [PATCH 15/47] Apply suggestions from code review (part 1) Co-authored-by: jakirkham --- recipes/libcufft/meta.yaml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index c095b9b0a81cb..b5b7c29eaad52 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -25,14 +25,6 @@ build: run_exports: # [linux] strong: # [linux] - __glibc >=2.17 # [linux] - missing_dso_whitelist: - - /lib64/libdl.so.2 # [linux] - - /lib64/libm.so.6 # [linux] - - /lib64/libpthread.so.0 # [linux] - - /lib64/librt.so.1 # [linux] - - /lib64/libgcc_s.so.1 # [linux] - - /lib64/libc.so.6 # [linux] - - /lib64/ld-linux-x86-64.so.2 # [linux] requirements: @@ -51,8 +43,8 @@ outputs: - name: libcufft test: commands: - - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - - if not exist %LIBRARY_BIN%\cufft64_11.dll exit 1 # [win] + - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] + - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] files: - lib/libcufft*.so.* # [linux] - targets/*/lib/*.so.* # [linux] From 1e4a50effc6cb99e19321eebe4212f66d6475a59 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 09:27:30 +0100 Subject: [PATCH 16/47] Update recipes/libcufft/meta.yaml Co-authored-by: jakirkham --- recipes/libcufft/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index b5b7c29eaad52..78947c0a142b4 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -58,7 +58,8 @@ outputs: requirements: run: - libcufft >={{ version }} - # - cuda-cudart-dev >=12.0 + run_constrained: + - libcufft-static >={{ version }} files: - lib/*.so # [linux] - targets/*/lib/*.so # [linux] From eda054a209d0d887e714540bcb1578fa8623f00c Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 10:46:19 +0100 Subject: [PATCH 17/47] Try modifying the strong run export to be libcufft itself? (I may be doing nonsense here :)) --- recipes/libcufft/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 78947c0a142b4..3f7b7bc926d9c 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -22,9 +22,9 @@ source: build: number: 0 skip: true # [osx] - run_exports: # [linux] - strong: # [linux] - - __glibc >=2.17 # [linux] + run_exports: + strong: + - libcufft requirements: From f6b7f39e559c2d6a9db85cc30806cdd0e1fc9f42 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 11:03:53 +0100 Subject: [PATCH 18/47] And try removing it entirely (at this point, I am just curious/trying around and CI is much quicker than local). --- recipes/libcufft/meta.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 3f7b7bc926d9c..df51c2d3e05d9 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -22,9 +22,6 @@ source: build: number: 0 skip: true # [osx] - run_exports: - strong: - - libcufft requirements: From a1468c647a5bf87e2c741fb0bb0411468acca46e Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 11:11:09 +0100 Subject: [PATCH 19/47] Tag static dependency with `[linux]` (as `libcufft-static` is only linux`) --- recipes/libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index df51c2d3e05d9..5ef4a84d0ec60 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -56,7 +56,7 @@ outputs: run: - libcufft >={{ version }} run_constrained: - - libcufft-static >={{ version }} + - libcufft-static >={{ version }} # [linux] files: - lib/*.so # [linux] - targets/*/lib/*.so # [linux] From 2af60b15763d445dc54ee711d521ebc0bc9ed1a8 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 11:23:37 +0100 Subject: [PATCH 20/47] Try moving build requirement to subpackages Co-authored-by: jakirkham --- recipes/libcufft/meta.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 5ef4a84d0ec60..694ca3c5d07bd 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -25,9 +25,6 @@ build: requirements: - build: - - {{ compiler("c") }} - - {{ compiler("cxx") }} host: - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] @@ -38,6 +35,10 @@ requirements: outputs: - name: libcufft + requirements: + build: + - {{ compiler("c") }} + - {{ compiler("cxx") }} test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] @@ -74,6 +75,9 @@ outputs: commands: - test -f $PREFIX/lib/libcufft_static.a requirements: + build: + - {{ compiler("c") }} + - {{ compiler("cxx") }} run: - libcufft-dev >={{ version }} files: From 322aa4c504820e51b54e13eb9b1a13d9e0035e77 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 11:52:58 +0100 Subject: [PATCH 21/47] trying around (maybe nothing more but retrigger CI again) --- recipes/libcufft/meta.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 694ca3c5d07bd..b2ab010566dec 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -24,11 +24,11 @@ build: skip: true # [osx] -requirements: - host: +requirements: # [linux] + host: # [linux] - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] - run: + run: # [linux] - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] @@ -51,12 +51,12 @@ outputs: - name: libcufft-dev test: commands: - - test -f $PREFIX/include/cufft.h # [linux] + - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] requirements: run: - libcufft >={{ version }} - run_constrained: + run_constrained: # [linux] - libcufft-static >={{ version }} # [linux] files: - lib/*.so # [linux] @@ -69,7 +69,7 @@ outputs: - Library\lib # [win] - name: libcufft-static - build: + build: # [not linux] skip: True # [not linux] test: commands: From b1a3433b2765c825062048b483beac19f95e1303 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 12:05:50 +0100 Subject: [PATCH 22/47] Add lib folder creation?! --- recipes/libcufft/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/libcufft/build.sh b/recipes/libcufft/build.sh index 6019b6f4dacc3..01c66048ac237 100644 --- a/recipes/libcufft/build.sh +++ b/recipes/libcufft/build.sh @@ -2,6 +2,7 @@ # Install to conda style directories [[ -d lib64 ]] && mv lib64 lib +mkdir -p ${PREFIX}/lib [[ -d pkg-config ]] && mv pkg-config ${PREFIX}/lib/pkgconfig [[ -d "$PREFIX/lib/pkgconfig" ]] && sed -E -i "s|cudaroot=.+|cudaroot=$PREFIX|g" $PREFIX/lib/pkgconfig/cufft*.pc From 9e4aaa7873bf05ed6088f057aaf9427b5b173e31 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 1 Feb 2023 14:12:25 +0100 Subject: [PATCH 23/47] Update recipes/libcufft/meta.yaml --- recipes/libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index b2ab010566dec..f7043eb23a510 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -1,4 +1,4 @@ -{% set name = "cufft" %} +{% set name = "libcufft" %} {% set version = "11.0.0.21" %} {% set platform = "linux-x86_64" %} # [linux64] {% set platform = "linux-ppc64le" %} # [ppc64le] From 8a9fdf2bdfea944695e579228d5c31dc23fc9f8b Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 6 Feb 2023 18:52:59 +0100 Subject: [PATCH 24/47] Larger update, trying to be more like cudart (likely still issues comments welcome) Right now, this skips the: run_exports: # [linux] strong: # [linux] - __glibc >=2.17 # [linux] Which cudart has on the main package, I don't quite see that it is needed (but my mental model for this is still pretty a bit limited) --- recipes/libcufft/meta.yaml | 93 ++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 33 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index f7043eb23a510..47bc5875f5bc0 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -1,4 +1,4 @@ -{% set name = "libcufft" %} +{% set name = "libcufft-split" %} {% set version = "11.0.0.21" %} {% set platform = "linux-x86_64" %} # [linux64] {% set platform = "linux-ppc64le" %} # [ppc64le] @@ -24,67 +24,93 @@ build: skip: true # [osx] -requirements: # [linux] - host: # [linux] - - sysroot_{{ target_platform }} 2.17 # [linux] - - __glibc >=2.17 # [linux] - run: # [linux] - - sysroot_{{ target_platform }} 2.17 # [linux] - - __glibc >=2.17 # [linux] - - outputs: - name: libcufft requirements: build: - {{ compiler("c") }} - {{ compiler("cxx") }} - test: - commands: - - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] + host: # [linux] + - sysroot_{{ target_platform }} 2.17 # [linux] + - __glibc >=2.17 # [linux] + run: # [linux] + - sysroot_{{ target_platform }} 2.17 # [linux] + - __glibc >=2.17 # [linux] files: - lib/libcufft*.so.* # [linux] - targets/*/lib/*.so.* # [linux] - Library\bin # [win] + test: + commands: + - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] + - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - name: libcufft-dev + files: + - lib/*.so # [linux] + - lib/stubs # [linux] + - include # [linux] + - lib/pkgconfig # [linux] + # Windows is only one target; everything is in `...-dev_target` + run_exports: + weak: + - {{ pin_subpackage("libcufft", max_pin='x') }} + requirements: + run: + - cuda-cufft-dev_{{ target_platform }} =={{ version }} + # TODO: Do we need cudart? But at this point it would fail CI. + run_contrained: + # Ensure static package is compatible (if installed explicitly) + - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -f $PREFIX/include/cufft.h # [linux] + - test -f $PREFIX/lib/cufft.so # [linux] + - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - requirements: - run: - - libcufft >={{ version }} - run_constrained: # [linux] - - libcufft-static >={{ version }} # [linux] + + - name: libcufft-dev_{{ target_platform }} + build: + noarch: generic files: - - lib/*.so # [linux] - targets/*/lib/*.so # [linux] - - lib/stubs # [linux] - - include # [linux] + - targets/*/lib/stubs # [linux] - targets/*/include/* # [linux] - lib/pkgconfig # [linux] - Library\include # [win] - Library\lib # [win] + requirements: + run_constrained: + - cuda-cudart-static_{{ target_platform }} >={{ version }} # [linux] + test: + commands: + - test -f $PREFIX/targets/*/lib/cufft.so # [linux] + - test -f $PREFIX/targets/*/include/cufft.h # [linux] + - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-static - build: # [not linux] + # cuFFT does not ship `*_static.lib` on windows so only relevant on linux + build: skip: True # [not linux] + files: + - lib/libcufft*_static.a + - lib/libcufft_static_nocallback.a + requirements: + run: + - libcufft-static_{{ target_platform }} =={{ version }} test: commands: - test -f $PREFIX/lib/libcufft_static.a - requirements: - build: - - {{ compiler("c") }} - - {{ compiler("cxx") }} - run: - - libcufft-dev >={{ version }} + + - name: libcufft-static_{{ target_platform }} + build: + skip: True # [not linux] + noarch: generic files: - targets/*/lib/libcufft*_static.a - targets/*/lib/libcufft_static_nocallback.a - - lib/libcufft*_static.a - - lib/libcufft_static_nocallback.a + test: + commands: + - test -f $PREFIX/targets/*/lib/libcufft_static.a about: @@ -94,9 +120,10 @@ about: license_url: https://docs.nvidia.com/cuda/eula/index.html summary: 'cuFFT native runtime libraries' description: | - The CUDA Fast Fourier Transform library + cuFFT, the CUDA Fast Fourier Transform library. doc_url: https://docs.nvidia.com/cuda/cufft/index.html + extra: recipe-maintainers: - adibbley From 810a3056ba8d7a28bceac0c6c435fe9c69f97611 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 6 Feb 2023 20:30:11 +0100 Subject: [PATCH 25/47] fixup typo --- recipes/libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 47bc5875f5bc0..b13cb2106383d 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -57,7 +57,7 @@ outputs: - {{ pin_subpackage("libcufft", max_pin='x') }} requirements: run: - - cuda-cufft-dev_{{ target_platform }} =={{ version }} + - libcufft-dev_{{ target_platform }} =={{ version }} # TODO: Do we need cudart? But at this point it would fail CI. run_contrained: # Ensure static package is compatible (if installed explicitly) From a320713c9dac131be1e27a402c5fb6e72c10ca0d Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 6 Feb 2023 21:02:13 +0100 Subject: [PATCH 26/47] remove pkgconfig from `-dev_target` and fix lib typos --- recipes/libcufft/meta.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index b13cb2106383d..0d0b464736819 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -64,7 +64,7 @@ outputs: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -f $PREFIX/lib/cufft.so # [linux] + - test -f $PREFIX/lib/libcufft.so # [linux] - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] @@ -75,15 +75,14 @@ outputs: - targets/*/lib/*.so # [linux] - targets/*/lib/stubs # [linux] - targets/*/include/* # [linux] - - lib/pkgconfig # [linux] - Library\include # [win] - Library\lib # [win] requirements: run_constrained: - - cuda-cudart-static_{{ target_platform }} >={{ version }} # [linux] + - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -f $PREFIX/targets/*/lib/cufft.so # [linux] + - test -f $PREFIX/targets/*/lib/libcufft.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] From a70467b985ed7702275d7b860c1f81c4cc092c34 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 09:54:00 +0100 Subject: [PATCH 27/47] Add missing weak-run exports also on `-dev_targets` --- recipes/libcufft/meta.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 0d0b464736819..6289a4cbc4672 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -77,6 +77,9 @@ outputs: - targets/*/include/* # [linux] - Library\include # [win] - Library\lib # [win] + run_exports: + weak: + - {{ pin_subpackage("libcufft", max_pin='x') }} requirements: run_constrained: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] From 2c81f0c598fa1f41d9be2c3eeb5dd6cbe25663a4 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 10:11:03 +0100 Subject: [PATCH 28/47] Fix tests: we are exporting links in non-targeted versions only (they do depend on the link target as runtime exports though) --- recipes/libcufft/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 6289a4cbc4672..9f201a7674411 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -64,7 +64,7 @@ outputs: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -f $PREFIX/lib/libcufft.so # [linux] + - test -L $PREFIX/lib/libcufft.so # [linux] - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] @@ -85,7 +85,7 @@ outputs: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -f $PREFIX/targets/*/lib/libcufft.so # [linux] + - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] @@ -101,7 +101,7 @@ outputs: - libcufft-static_{{ target_platform }} =={{ version }} test: commands: - - test -f $PREFIX/lib/libcufft_static.a + - test -L $PREFIX/lib/libcufft_static.a - name: libcufft-static_{{ target_platform }} build: From bd04253d06177fe5ccfa7721dd6a615cd2936bc7 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 11:13:16 +0100 Subject: [PATCH 29/47] windows has no dev files right now here, also skip `files:` Otherwise it is not a list, but rather `None` (hopefully having no files entry works/is correct) --- recipes/libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 9f201a7674411..4887a9d9ad374 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -46,7 +46,7 @@ outputs: - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - name: libcufft-dev - files: + files: # [linux] - lib/*.so # [linux] - lib/stubs # [linux] - include # [linux] From 25070d910db090ae32708964dc5e9c041f2b5240 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 16:28:46 +0100 Subject: [PATCH 30/47] fix windows bin includes (the * pulled in a lot of other runtime) --- recipes/libcufft/meta.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 4887a9d9ad374..a13ee647ed323 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -37,9 +37,9 @@ outputs: - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] files: - - lib/libcufft*.so.* # [linux] - - targets/*/lib/*.so.* # [linux] - - Library\bin # [win] + - lib/libcufft*.so.* # [linux] + - targets/*/lib/*.so.* # [linux] + - Library\bin\cufft*.dll # [win] test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] @@ -64,8 +64,8 @@ outputs: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -L $PREFIX/lib/libcufft.so # [linux] - - test -f $PREFIX/include/cufft.h # [linux] + - test -L $PREFIX/lib/libcufft.so # [linux] + - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-dev_{{ target_platform }} @@ -85,7 +85,7 @@ outputs: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: commands: - - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] + - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] From 8899d5017a47251a8eaa07a42206f0170d766cf2 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 16:56:57 +0100 Subject: [PATCH 31/47] experiment with script. --- recipes/libcufft/{bld.bat => install.bat} | 0 recipes/libcufft/meta.yaml | 10 ++++++---- 2 files changed, 6 insertions(+), 4 deletions(-) rename recipes/libcufft/{bld.bat => install.bat} (100%) diff --git a/recipes/libcufft/bld.bat b/recipes/libcufft/install.bat similarity index 100% rename from recipes/libcufft/bld.bat rename to recipes/libcufft/install.bat diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index a13ee647ed323..4aa011dbf7f3f 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -22,10 +22,16 @@ source: build: number: 0 skip: true # [osx] + script: install.sh # [linux] + script: install.bat # [win] outputs: - name: libcufft + files: + - lib/libcufft*.so.* # [linux] + - targets/*/lib/*.so.* # [linux] + - Library\bin # [win] requirements: build: - {{ compiler("c") }} @@ -36,10 +42,6 @@ outputs: run: # [linux] - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] - files: - - lib/libcufft*.so.* # [linux] - - targets/*/lib/*.so.* # [linux] - - Library\bin\cufft*.dll # [win] test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] From 264449bb37a412a3b3e7631739fa822ae1e077cc Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 17:32:32 +0100 Subject: [PATCH 32/47] fixup scripts --- recipes/libcufft/{build.sh => install.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes/libcufft/{build.sh => install.sh} (100%) diff --git a/recipes/libcufft/build.sh b/recipes/libcufft/install.sh similarity index 100% rename from recipes/libcufft/build.sh rename to recipes/libcufft/install.sh From aa13199bab82e0b171330540f7290cf79a912c5e Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 17:42:16 +0100 Subject: [PATCH 33/47] fix command, more tries with script; put in subpackage outputs? --- recipes/libcufft/meta.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 4aa011dbf7f3f..d1303e2b188e3 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -22,12 +22,12 @@ source: build: number: 0 skip: true # [osx] - script: install.sh # [linux] - script: install.bat # [win] outputs: - name: libcufft + script: install.sh # [linux] + script: install.bat # [win] files: - lib/libcufft*.so.* # [linux] - targets/*/lib/*.so.* # [linux] @@ -48,6 +48,8 @@ outputs: - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - name: libcufft-dev + script: install.sh # [linux] + script: install.bat # [win] files: # [linux] - lib/*.so # [linux] - lib/stubs # [linux] @@ -71,6 +73,8 @@ outputs: - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-dev_{{ target_platform }} + script: install.sh # [linux] + script: install.bat # [win] build: noarch: generic files: @@ -92,6 +96,8 @@ outputs: - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-static + script: install.sh # [linux] + script: install.bat # [win] # cuFFT does not ship `*_static.lib` on windows so only relevant on linux build: skip: True # [not linux] @@ -106,6 +112,8 @@ outputs: - test -L $PREFIX/lib/libcufft_static.a - name: libcufft-static_{{ target_platform }} + script: install.sh # [linux] + script: install.bat # [win] build: skip: True # [not linux] noarch: generic From eabc23a89932c10dd418c87cf35a8a96e7ebf7a6 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 18:25:00 +0100 Subject: [PATCH 34/47] Do I need to make sure paths exists on windows when using script:? --- recipes/libcufft/install.bat | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/libcufft/install.bat b/recipes/libcufft/install.bat index 57ba00afb97f9..e9d89471c6a7a 100644 --- a/recipes/libcufft/install.bat +++ b/recipes/libcufft/install.bat @@ -1,4 +1,7 @@ if not exist %PREFIX% mkdir %PREFIX% +if not exist %LIBRARY_LIB% mkdir %LIBRARY_LIB% +if not exist %LIBRARY_BIN% mkdir %LIBRARY_BIN% +if not exist %LIBRARY_INC% mkdir %LIBRARY_INC% move lib\x64\* %LIBRARY_LIB% move bin\* %LIBRARY_BIN% From 13f277457117e4dc788939928dc3c89d180022d9 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 7 Feb 2023 19:15:32 +0100 Subject: [PATCH 35/47] copy rather than move in bat file? --- recipes/libcufft/install.bat | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/install.bat b/recipes/libcufft/install.bat index e9d89471c6a7a..755cbd294f8c6 100644 --- a/recipes/libcufft/install.bat +++ b/recipes/libcufft/install.bat @@ -3,6 +3,6 @@ if not exist %LIBRARY_LIB% mkdir %LIBRARY_LIB% if not exist %LIBRARY_BIN% mkdir %LIBRARY_BIN% if not exist %LIBRARY_INC% mkdir %LIBRARY_INC% -move lib\x64\* %LIBRARY_LIB% -move bin\* %LIBRARY_BIN% -move include\* %LIBRARY_INC% +xcopy lib\x64\* %LIBRARY_LIB% +xcopy bin\* %LIBRARY_BIN% +xcopy include\* %LIBRARY_INC% From 0d8d852a35c34ebc9893a7e86caf7e506d5fa48b Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 8 Feb 2023 11:47:25 +0100 Subject: [PATCH 36/47] Revert back to not using `script:` but relying on precise wildcards --- recipes/libcufft/bld.bat | 5 +++++ recipes/libcufft/{install.sh => build.sh} | 0 recipes/libcufft/install.bat | 8 -------- recipes/libcufft/meta.yaml | 18 ++++-------------- 4 files changed, 9 insertions(+), 22 deletions(-) create mode 100644 recipes/libcufft/bld.bat rename recipes/libcufft/{install.sh => build.sh} (100%) delete mode 100644 recipes/libcufft/install.bat diff --git a/recipes/libcufft/bld.bat b/recipes/libcufft/bld.bat new file mode 100644 index 0000000000000..57ba00afb97f9 --- /dev/null +++ b/recipes/libcufft/bld.bat @@ -0,0 +1,5 @@ +if not exist %PREFIX% mkdir %PREFIX% + +move lib\x64\* %LIBRARY_LIB% +move bin\* %LIBRARY_BIN% +move include\* %LIBRARY_INC% diff --git a/recipes/libcufft/install.sh b/recipes/libcufft/build.sh similarity index 100% rename from recipes/libcufft/install.sh rename to recipes/libcufft/build.sh diff --git a/recipes/libcufft/install.bat b/recipes/libcufft/install.bat deleted file mode 100644 index 755cbd294f8c6..0000000000000 --- a/recipes/libcufft/install.bat +++ /dev/null @@ -1,8 +0,0 @@ -if not exist %PREFIX% mkdir %PREFIX% -if not exist %LIBRARY_LIB% mkdir %LIBRARY_LIB% -if not exist %LIBRARY_BIN% mkdir %LIBRARY_BIN% -if not exist %LIBRARY_INC% mkdir %LIBRARY_INC% - -xcopy lib\x64\* %LIBRARY_LIB% -xcopy bin\* %LIBRARY_BIN% -xcopy include\* %LIBRARY_INC% diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index d1303e2b188e3..a13ee647ed323 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -26,12 +26,6 @@ build: outputs: - name: libcufft - script: install.sh # [linux] - script: install.bat # [win] - files: - - lib/libcufft*.so.* # [linux] - - targets/*/lib/*.so.* # [linux] - - Library\bin # [win] requirements: build: - {{ compiler("c") }} @@ -42,14 +36,16 @@ outputs: run: # [linux] - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] + files: + - lib/libcufft*.so.* # [linux] + - targets/*/lib/*.so.* # [linux] + - Library\bin\cufft*.dll # [win] test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - name: libcufft-dev - script: install.sh # [linux] - script: install.bat # [win] files: # [linux] - lib/*.so # [linux] - lib/stubs # [linux] @@ -73,8 +69,6 @@ outputs: - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-dev_{{ target_platform }} - script: install.sh # [linux] - script: install.bat # [win] build: noarch: generic files: @@ -96,8 +90,6 @@ outputs: - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-static - script: install.sh # [linux] - script: install.bat # [win] # cuFFT does not ship `*_static.lib` on windows so only relevant on linux build: skip: True # [not linux] @@ -112,8 +104,6 @@ outputs: - test -L $PREFIX/lib/libcufft_static.a - name: libcufft-static_{{ target_platform }} - script: install.sh # [linux] - script: install.bat # [win] build: skip: True # [not linux] noarch: generic From 225ef1a1deff31cff3fc504a6d9c041045e954b9 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Thu, 9 Feb 2023 10:17:53 +0100 Subject: [PATCH 37/47] Try using top-=level script once more --- recipes/libcufft/{bld.bat => install.bat} | 0 recipes/libcufft/{build.sh => install.sh} | 0 recipes/libcufft/meta.yaml | 12 ++++++++---- 3 files changed, 8 insertions(+), 4 deletions(-) rename recipes/libcufft/{bld.bat => install.bat} (100%) rename recipes/libcufft/{build.sh => install.sh} (100%) diff --git a/recipes/libcufft/bld.bat b/recipes/libcufft/install.bat similarity index 100% rename from recipes/libcufft/bld.bat rename to recipes/libcufft/install.bat diff --git a/recipes/libcufft/build.sh b/recipes/libcufft/install.sh similarity index 100% rename from recipes/libcufft/build.sh rename to recipes/libcufft/install.sh diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index a13ee647ed323..6ac5ee1a4061b 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -24,8 +24,16 @@ build: skip: true # [osx] +script: install.sh # [linux] +script: install.bat # [win] + + outputs: - name: libcufft + files: + - lib/libcufft*.so.* # [linux] + - targets/*/lib/*.so.* # [linux] + - Library\bin # [win] requirements: build: - {{ compiler("c") }} @@ -36,10 +44,6 @@ outputs: run: # [linux] - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] - files: - - lib/libcufft*.so.* # [linux] - - targets/*/lib/*.so.* # [linux] - - Library\bin\cufft*.dll # [win] test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] From 4551c42d3af68299adbac356faddf026c21f952d Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 22 Mar 2023 12:12:54 +0100 Subject: [PATCH 38/47] Apply suggestions from code review Co-authored-by: Bradley Dice --- recipes/libcufft/meta.yaml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 6ac5ee1a4061b..717fb6f3d5697 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -1,5 +1,6 @@ {% set name = "libcufft-split" %} {% set version = "11.0.0.21" %} +{% set cuda_version = "12.0" %} {% set platform = "linux-x86_64" %} # [linux64] {% set platform = "linux-ppc64le" %} # [ppc64le] {% set platform = "linux-sbsa" %} # [aarch64] @@ -38,12 +39,14 @@ outputs: build: - {{ compiler("c") }} - {{ compiler("cxx") }} - host: # [linux] + host: - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] - run: # [linux] + - cuda-version {{ cuda_version }} + run: - sysroot_{{ target_platform }} 2.17 # [linux] - __glibc >=2.17 # [linux] + - {{ pin_compatible("cuda-version") }} test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] @@ -60,10 +63,13 @@ outputs: weak: - {{ pin_subpackage("libcufft", max_pin='x') }} requirements: + host: + - cuda-version {{ cuda_version }} run: + - {{ pin_compatible("cuda-version", max_pin="x.x") }} - libcufft-dev_{{ target_platform }} =={{ version }} # TODO: Do we need cudart? But at this point it would fail CI. - run_contrained: + run_constrained: # Ensure static package is compatible (if installed explicitly) - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: @@ -85,6 +91,10 @@ outputs: weak: - {{ pin_subpackage("libcufft", max_pin='x') }} requirements: + host: + - cuda-version {{ cuda_version }} + run: + - {{ pin_compatible("cuda-version", max_pin="x.x") }} run_constrained: - libcufft-static_{{ target_platform }} >={{ version }} # [linux] test: @@ -101,7 +111,10 @@ outputs: - lib/libcufft*_static.a - lib/libcufft_static_nocallback.a requirements: + host: + - cuda-version {{ cuda_version }} run: + - {{ pin_compatible("cuda-version", max_pin="x.x") }} - libcufft-static_{{ target_platform }} =={{ version }} test: commands: @@ -114,6 +127,11 @@ outputs: files: - targets/*/lib/libcufft*_static.a - targets/*/lib/libcufft_static_nocallback.a + requirements: + host: + - cuda-version {{ cuda_version }} + run: + - {{ pin_compatible("cuda-version", max_pin="x.x") }} test: commands: - test -f $PREFIX/targets/*/lib/libcufft_static.a From 50279ebc89941fb7b61e6842e29e10b1e97e2cb3 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 22 Mar 2023 14:55:50 +0100 Subject: [PATCH 39/47] Update as per Johns comment and remove cross compiling target split --- recipes/libcufft/meta.yaml | 66 +++++++------------------------------- 1 file changed, 12 insertions(+), 54 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 717fb6f3d5697..203a7cf8b6ef3 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -1,4 +1,4 @@ -{% set name = "libcufft-split" %} +{% set name = "libcufft" %} {% set version = "11.0.0.21" %} {% set cuda_version = "12.0" %} {% set platform = "linux-x86_64" %} # [linux64] @@ -25,10 +25,6 @@ build: skip: true # [osx] -script: install.sh # [linux] -script: install.bat # [win] - - outputs: - name: libcufft files: @@ -39,13 +35,10 @@ outputs: build: - {{ compiler("c") }} - {{ compiler("cxx") }} - host: - sysroot_{{ target_platform }} 2.17 # [linux] - - __glibc >=2.17 # [linux] + host: - cuda-version {{ cuda_version }} run: - - sysroot_{{ target_platform }} 2.17 # [linux] - - __glibc >=2.17 # [linux] - {{ pin_compatible("cuda-version") }} test: commands: @@ -54,37 +47,13 @@ outputs: - name: libcufft-dev files: # [linux] + - targets/*/lib/*.so # [linux] + - targets/*/lib/stubs # [linux] + - targets/*/include/* # [linux] - lib/*.so # [linux] - lib/stubs # [linux] - include # [linux] - lib/pkgconfig # [linux] - # Windows is only one target; everything is in `...-dev_target` - run_exports: - weak: - - {{ pin_subpackage("libcufft", max_pin='x') }} - requirements: - host: - - cuda-version {{ cuda_version }} - run: - - {{ pin_compatible("cuda-version", max_pin="x.x") }} - - libcufft-dev_{{ target_platform }} =={{ version }} - # TODO: Do we need cudart? But at this point it would fail CI. - run_constrained: - # Ensure static package is compatible (if installed explicitly) - - libcufft-static_{{ target_platform }} >={{ version }} # [linux] - test: - commands: - - test -L $PREFIX/lib/libcufft.so # [linux] - - test -f $PREFIX/include/cufft.h # [linux] - - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - - - name: libcufft-dev_{{ target_platform }} - build: - noarch: generic - files: - - targets/*/lib/*.so # [linux] - - targets/*/lib/stubs # [linux] - - targets/*/include/* # [linux] - Library\include # [win] - Library\lib # [win] run_exports: @@ -95,38 +64,26 @@ outputs: - cuda-version {{ cuda_version }} run: - {{ pin_compatible("cuda-version", max_pin="x.x") }} + # TODO: Do we need cudart? But at this point it would fail CI. run_constrained: - - libcufft-static_{{ target_platform }} >={{ version }} # [linux] + - libcufft-static >={{ version }} # [linux] test: commands: - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] + - test -L $PREFIX/lib/libcufft.so # [linux] + - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] - name: libcufft-static # cuFFT does not ship `*_static.lib` on windows so only relevant on linux build: skip: True # [not linux] - files: - - lib/libcufft*_static.a - - lib/libcufft_static_nocallback.a - requirements: - host: - - cuda-version {{ cuda_version }} - run: - - {{ pin_compatible("cuda-version", max_pin="x.x") }} - - libcufft-static_{{ target_platform }} =={{ version }} - test: - commands: - - test -L $PREFIX/lib/libcufft_static.a - - - name: libcufft-static_{{ target_platform }} - build: - skip: True # [not linux] - noarch: generic files: - targets/*/lib/libcufft*_static.a - targets/*/lib/libcufft_static_nocallback.a + - lib/libcufft*_static.a + - lib/libcufft_static_nocallback.a requirements: host: - cuda-version {{ cuda_version }} @@ -135,6 +92,7 @@ outputs: test: commands: - test -f $PREFIX/targets/*/lib/libcufft_static.a + - test -L $PREFIX/lib/libcufft_static.a about: From dc8ad89ad3b0b8f9a35ed82b411565834c807ffa Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 22 Mar 2023 18:28:34 +0100 Subject: [PATCH 40/47] Removing the cross compilation split means we need to use `-f` tests (hopefully) --- recipes/libcufft/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 203a7cf8b6ef3..107b26a9109b0 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -69,9 +69,9 @@ outputs: - libcufft-static >={{ version }} # [linux] test: commands: - - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] + - test -f $PREFIX/targets/*/lib/libcufft.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] - - test -L $PREFIX/lib/libcufft.so # [linux] + - test -f $PREFIX/lib/libcufft.so # [linux] - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] @@ -92,7 +92,7 @@ outputs: test: commands: - test -f $PREFIX/targets/*/lib/libcufft_static.a - - test -L $PREFIX/lib/libcufft_static.a + - test -f $PREFIX/lib/libcufft_static.a about: From 62af404b32b18cf8e169e6186b12d1cc7d4403ba Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 22 Mar 2023 19:33:16 +0100 Subject: [PATCH 41/47] Undo rename of the install/build script... --- recipes/libcufft/{install.bat => bld.bat} | 0 recipes/libcufft/{install.sh => build.sh} | 0 recipes/libcufft/meta.yaml | 27 ++++++++++++++--------- 3 files changed, 16 insertions(+), 11 deletions(-) rename recipes/libcufft/{install.bat => bld.bat} (100%) rename recipes/libcufft/{install.sh => build.sh} (100%) diff --git a/recipes/libcufft/install.bat b/recipes/libcufft/bld.bat similarity index 100% rename from recipes/libcufft/install.bat rename to recipes/libcufft/bld.bat diff --git a/recipes/libcufft/install.sh b/recipes/libcufft/build.sh similarity index 100% rename from recipes/libcufft/install.sh rename to recipes/libcufft/build.sh diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 107b26a9109b0..582e816285a88 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -39,23 +39,23 @@ outputs: host: - cuda-version {{ cuda_version }} run: - - {{ pin_compatible("cuda-version") }} + - {{ pin_compatible("cuda-version", max_pin="x.x") }} test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - name: libcufft-dev - files: # [linux] - - targets/*/lib/*.so # [linux] - - targets/*/lib/stubs # [linux] - - targets/*/include/* # [linux] - - lib/*.so # [linux] - - lib/stubs # [linux] - - include # [linux] - - lib/pkgconfig # [linux] - - Library\include # [win] - - Library\lib # [win] + files: # [linux] + - targets/*/lib/libcufft*.so # [linux] + - lib/libcufft*.so # [linux] + - targets/*/lib/stubs/libcufft*.so # [linux] + - lib/stubs/libcufft*.so # [linux] + - targets/*/include/* # [linux] + - include # [linux] + - lib/pkgconfig # [linux] + - Library\include # [win] + - Library\lib # [win] run_exports: weak: - {{ pin_subpackage("libcufft", max_pin='x') }} @@ -70,6 +70,9 @@ outputs: test: commands: - test -f $PREFIX/targets/*/lib/libcufft.so # [linux] + - test -f $PREFIX/lib/libcufft.so # [linux] + - test -f $PREFIX/targets/*/lib/libcufftw.so # [linux] + - test -f $PREFIX/lib/libcufftw.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] - test -f $PREFIX/lib/libcufft.so # [linux] - test -f $PREFIX/include/cufft.h # [linux] @@ -92,7 +95,9 @@ outputs: test: commands: - test -f $PREFIX/targets/*/lib/libcufft_static.a + - test -f $PREFIX/targets/*/lib/libcufftw_static.a - test -f $PREFIX/lib/libcufft_static.a + - test -f $PREFIX/lib/libcufftw_static.a about: From a8bf363b7af95c9671543bea870a7669c30c0434 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 22 Mar 2023 19:51:57 +0100 Subject: [PATCH 42/47] Make some globs more precise and fix link tests (unversioned .so are links) --- recipes/libcufft/meta.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 582e816285a88..f10cda57c747a 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -28,9 +28,9 @@ build: outputs: - name: libcufft files: - - lib/libcufft*.so.* # [linux] - - targets/*/lib/*.so.* # [linux] - - Library\bin # [win] + - lib/libcufft*.so.* # [linux] + - targets/*/lib/libcufft*.so.* # [linux] + - Library\bin\cufft*64_*.dll # [win] requirements: build: - {{ compiler("c") }} @@ -69,12 +69,12 @@ outputs: - libcufft-static >={{ version }} # [linux] test: commands: - - test -f $PREFIX/targets/*/lib/libcufft.so # [linux] - - test -f $PREFIX/lib/libcufft.so # [linux] - - test -f $PREFIX/targets/*/lib/libcufftw.so # [linux] - - test -f $PREFIX/lib/libcufftw.so # [linux] + # `.so` are links as they require the versioned ones in `libcufft` + - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] + - test -L $PREFIX/lib/libcufft.so # [linux] + - test -L $PREFIX/targets/*/lib/libcufftw.so # [linux] + - test -L $PREFIX/lib/libcufftw.so # [linux] - test -f $PREFIX/targets/*/include/cufft.h # [linux] - - test -f $PREFIX/lib/libcufft.so # [linux] - test -f $PREFIX/include/cufft.h # [linux] - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] From 74e28c7b81e90b81325c2661ec37f1bd1f25a2a7 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Wed, 22 Mar 2023 21:00:17 +0100 Subject: [PATCH 43/47] fix incorrect linux-only tag --- recipes/libcufft/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index f10cda57c747a..7c961b8e7f36f 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -46,7 +46,7 @@ outputs: - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - name: libcufft-dev - files: # [linux] + files: - targets/*/lib/libcufft*.so # [linux] - lib/libcufft*.so # [linux] - targets/*/lib/stubs/libcufft*.so # [linux] From ec9529abb92ddb788072f417762c4d5541d52ef9 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Thu, 6 Apr 2023 12:11:58 +0200 Subject: [PATCH 44/47] Update as per guidance (should mirror cublas almost perfectly) --- recipes/libcufft/bld.bat | 2 +- recipes/libcufft/build.sh | 34 ++++++----- recipes/libcufft/meta.yaml | 118 +++++++++++++++++++++++++++---------- 3 files changed, 107 insertions(+), 47 deletions(-) diff --git a/recipes/libcufft/bld.bat b/recipes/libcufft/bld.bat index 57ba00afb97f9..ba55ec496bf19 100644 --- a/recipes/libcufft/bld.bat +++ b/recipes/libcufft/bld.bat @@ -2,4 +2,4 @@ if not exist %PREFIX% mkdir %PREFIX% move lib\x64\* %LIBRARY_LIB% move bin\* %LIBRARY_BIN% -move include\* %LIBRARY_INC% +move include\* %LIBRARY_INC% \ No newline at end of file diff --git a/recipes/libcufft/build.sh b/recipes/libcufft/build.sh index 01c66048ac237..192106df42614 100644 --- a/recipes/libcufft/build.sh +++ b/recipes/libcufft/build.sh @@ -11,17 +11,23 @@ mkdir -p ${PREFIX}/lib [[ ${target_platform} == "linux-aarch64" ]] && targetsDir="targets/sbsa-linux" for i in `ls`; do - [[ $i == "build_env_setup.sh" ]] && continue - [[ $i == "conda_build.sh" ]] && continue - [[ $i == "metadata_conda_debug.yaml" ]] && continue - if [[ $i == "lib" ]] || [[ $i == "include" ]]; then - mkdir -p ${PREFIX}/${targetsDir} - mkdir -p ${PREFIX}/$i - cp -rv $i ${PREFIX}/${targetsDir} - for j in `ls $i`; do - ln -s ../${targetsDir}/$i/$j ${PREFIX}/$i/$j - done - else - cp -rv $i ${PREFIX} - fi -done + [[ $i == "build_env_setup.sh" ]] && continue + [[ $i == "conda_build.sh" ]] && continue + [[ $i == "metadata_conda_debug.yaml" ]] && continue + if [[ $i == "lib" ]] || [[ $i == "include" ]]; then + # Headers and libraries are installed to targetsDir + mkdir -p ${PREFIX}/${targetsDir} + mkdir -p ${PREFIX}/$i + cp -rv $i ${PREFIX}/${targetsDir} + if [[ $i == "lib" ]]; then + for j in "$i"/*.so*; do + # Shared libraries are symlinked in $PREFIX/lib + ln -s ${PREFIX}/${targetsDir}/$j ${PREFIX}/$j + done + fi + else + # Put all other files in targetsDir + mkdir -p ${PREFIX}/${targetsDir}/${PKG_NAME} + cp -rv $i ${PREFIX}/${targetsDir}/${PKG_NAME} + fi +done \ No newline at end of file diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 7c961b8e7f36f..53b19e288bba8 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -5,6 +5,9 @@ {% set platform = "linux-ppc64le" %} # [ppc64le] {% set platform = "linux-sbsa" %} # [aarch64] {% set platform = "windows-x86_64" %} # [win] +{% set target_name = "x86_64-linux" %} # [linux64] +{% set target_name = "ppc64le-linux" %} # [ppc64le] +{% set target_name = "sbsa-linux" %} # [aarch64] {% set extension = "tar.xz" %} # [not win] {% set extension = "zip" %} # [win] @@ -19,7 +22,6 @@ source: sha256: 91aa1ba5e68ca65778222c9a427a9214c4550d2f45e978e51779a207bafc17a3 # [aarch64] sha256: a33f577d48ef432d5cfa8d0ebfa789cc5261af5dd84fd9c608235edc3f769e43 # [win] - build: number: 0 skip: true # [osx] @@ -28,55 +30,96 @@ build: outputs: - name: libcufft files: - - lib/libcufft*.so.* # [linux] - - targets/*/lib/libcufft*.so.* # [linux] - - Library\bin\cufft*64_*.dll # [win] + - lib/libcufft*.so.* # [linux] + - targets/{{ target_name }}/lib/libcufft*.so.* # [linux] + - Library\bin\cufft*64_*.dll # [win] requirements: build: - {{ compiler("c") }} - {{ compiler("cxx") }} + - arm-variant * {{ arm_variant_type }} # [aarch64] - sysroot_{{ target_platform }} 2.17 # [linux] host: - cuda-version {{ cuda_version }} run: - {{ pin_compatible("cuda-version", max_pin="x.x") }} + run_constrained: + - arm-variant * {{ arm_variant_type }} # [aarch64] test: commands: - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] + - test -L $PREFIX/lib/libcufft.so.{{ version }} # [linux] + - test -L $PREFIX/lib/libcufft.so.{{ version.split(".")[0] }} # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/libcufft.so.{{ version.split(".")[0] }} # [linux] + - test -f $PREFIX/targets/{{ target_name }}/lib/libcufft.so.{{ version }} # [linux] + - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] + - if not exist %LIBRARY_BIN%\cufftw64_{{ version.split(".")[0] }}.dll exit 1 # [win] + about: + home: https://developer.nvidia.com/cufft + license: LicenseRef-NVIDIA-End-User-License-Agreement + license_file: LICENSE + license_url: https://docs.nvidia.com/cuda/eula/index.html + summary: 'cuFFT native runtime libraries' + description: | + cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/index.html - name: libcufft-dev + build: + run_exports: + weak: + - {{ pin_subpackage("libcufft", max_pin='x') }} files: - - targets/*/lib/libcufft*.so # [linux] - - lib/libcufft*.so # [linux] - - targets/*/lib/stubs/libcufft*.so # [linux] - - lib/stubs/libcufft*.so # [linux] - - targets/*/include/* # [linux] - - include # [linux] - - lib/pkgconfig # [linux] - - Library\include # [win] - - Library\lib # [win] - run_exports: - weak: - - {{ pin_subpackage("libcufft", max_pin='x') }} + - lib/libcufft*.so # [linux] + - lib/pkgconfig # [linux] + - targets/{{ target_name }}/include # [linux] + - targets/{{ target_name }}/lib/libcufft*.so # [linux] + - targets/{{ target_name }}/lib/stubs/libcufft*.so # [linux] + - Library\include # [win] + - Library\lib # [win] requirements: + build: + - {{ compiler("c") }} + - {{ compiler("cxx") }} + - arm-variant * {{ arm_variant_type }} # [aarch64] + - sysroot_{{ target_platform }} 2.17 # [linux] host: - cuda-version {{ cuda_version }} run: - {{ pin_compatible("cuda-version", max_pin="x.x") }} + - {{ pin_subpackage("libcufft", exact=True) }} # TODO: Do we need cudart? But at this point it would fail CI. run_constrained: + - arm-variant * {{ arm_variant_type }} # [aarch64] - libcufft-static >={{ version }} # [linux] test: commands: - # `.so` are links as they require the versioned ones in `libcufft` - - test -L $PREFIX/targets/*/lib/libcufft.so # [linux] - - test -L $PREFIX/lib/libcufft.so # [linux] - - test -L $PREFIX/targets/*/lib/libcufftw.so # [linux] - - test -L $PREFIX/lib/libcufftw.so # [linux] - - test -f $PREFIX/targets/*/include/cufft.h # [linux] - - test -f $PREFIX/include/cufft.h # [linux] - - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] + - test -L $PREFIX/lib/libcufft.so # [linux] + - test -L $PREFIX/lib/libcufftw.so # [linux] + - test -f targets/{{ target_name }}/include/cudalibxt.h # [linux] + - test -f targets/{{ target_name }}/include/cufft.h # [linux] + - test -f targets/{{ target_name }}/include/cufftw.h # [linux] + - test -f targets/{{ target_name }}/include/cufftXt.h # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/libcufft.so # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/libcufftw.so # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/stubs/libcufft.so # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/stubs/libcufftw.so # [linux] + - if not exist %LIBRARY_INC%\cudalibxt.h exit 1 # [win] + - if not exist %LIBRARY_INC%\cufft.h exit 1 # [win] + - if not exist %LIBRARY_INC%\cufftw.h exit 1 # [win] + - if not exist %LIBRARY_INC%\cufftXt.h exit 1 # [win] + - if not exist %LIBRARY_LIB%\cufft.lib exit 1 # [win] + - if not exist %LIBRARY_LIB%\cufftw.lib exit 1 # [win] + about: + home: https://developer.nvidia.com/cufft + license: LicenseRef-NVIDIA-End-User-License-Agreement + license_file: LICENSE + license_url: https://docs.nvidia.com/cuda/eula/index.html + summary: 'cuFFT native runtime libraries' + description: | + cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/index.html - name: libcufft-static # cuFFT does not ship `*_static.lib` on windows so only relevant on linux @@ -85,32 +128,43 @@ outputs: files: - targets/*/lib/libcufft*_static.a - targets/*/lib/libcufft_static_nocallback.a - - lib/libcufft*_static.a - - lib/libcufft_static_nocallback.a requirements: + build: + - {{ compiler("c") }} + - {{ compiler("cxx") }} + - arm-variant * {{ arm_variant_type }} # [aarch64] + - sysroot_{{ target_platform }} 2.17 # [linux] host: - cuda-version {{ cuda_version }} run: - {{ pin_compatible("cuda-version", max_pin="x.x") }} + run_constrained: + - arm-variant * {{ arm_variant_type }} # [aarch64] test: commands: - test -f $PREFIX/targets/*/lib/libcufft_static.a - test -f $PREFIX/targets/*/lib/libcufftw_static.a - - test -f $PREFIX/lib/libcufft_static.a - - test -f $PREFIX/lib/libcufftw_static.a + about: + home: https://developer.nvidia.com/cufft + license: LicenseRef-NVIDIA-End-User-License-Agreement + license_file: LICENSE + license_url: https://docs.nvidia.com/cuda/eula/index.html + summary: 'cuFFT native runtime libraries' + description: | + cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/index.html about: - home: https://developer.nvidia.com/cuda-toolkit - license_file: LICENSE + home: https://developer.nvidia.com/cufft license: LicenseRef-NVIDIA-End-User-License-Agreement + license_file: LICENSE license_url: https://docs.nvidia.com/cuda/eula/index.html summary: 'cuFFT native runtime libraries' description: | - cuFFT, the CUDA Fast Fourier Transform library. + cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. doc_url: https://docs.nvidia.com/cuda/cufft/index.html - extra: recipe-maintainers: - adibbley From dd6a1ddff7760d3f598bc81ef5cca0e09de55462 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Thu, 6 Apr 2023 12:45:56 +0200 Subject: [PATCH 45/47] fixup (and slightly cleanup) mainly tests --- recipes/libcufft/meta.yaml | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 53b19e288bba8..479636e534589 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -47,14 +47,16 @@ outputs: - arm-variant * {{ arm_variant_type }} # [aarch64] test: commands: - - test -f $PREFIX/lib/libcufft.so.{{ version }} # [linux] - - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - - test -L $PREFIX/lib/libcufft.so.{{ version }} # [linux] - - test -L $PREFIX/lib/libcufft.so.{{ version.split(".")[0] }} # [linux] - - test -L $PREFIX/targets/{{ target_name }}/lib/libcufft.so.{{ version.split(".")[0] }} # [linux] - - test -f $PREFIX/targets/{{ target_name }}/lib/libcufft.so.{{ version }} # [linux] - - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] - - if not exist %LIBRARY_BIN%\cufftw64_{{ version.split(".")[0] }}.dll exit 1 # [win] + - test -L $PREFIX/lib/libcufft.so.{{ version }} # [linux] + - test -L $PREFIX/lib/libcufftw.so.{{ version }} # [linux] + - test -L $PREFIX/lib/libcufft.so.{{ version.split(".")[0] }} # [linux] + - test -L $PREFIX/lib/libcufftw.so.{{ version.split(".")[0] }} # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/libcufft.so.{{ version.split(".")[0] }} # [linux] + - test -L $PREFIX/targets/{{ target_name }}/lib/libcufftw.so.{{ version.split(".")[0] }} # [linux] + - test -f $PREFIX/targets/{{ target_name }}/lib/libcufft.so.{{ version }} # [linux] + - test -f $PREFIX/targets/{{ target_name }}/lib/libcufftw.so.{{ version }} # [linux] + - if not exist %LIBRARY_BIN%\cufft64_{{ version.split(".")[0] }}.dll exit 1 # [win] + - if not exist %LIBRARY_BIN%\cufftw64_{{ version.split(".")[0] }}.dll exit 1 # [win] about: home: https://developer.nvidia.com/cufft license: LicenseRef-NVIDIA-End-User-License-Agreement @@ -97,14 +99,14 @@ outputs: commands: - test -L $PREFIX/lib/libcufft.so # [linux] - test -L $PREFIX/lib/libcufftw.so # [linux] - - test -f targets/{{ target_name }}/include/cudalibxt.h # [linux] - - test -f targets/{{ target_name }}/include/cufft.h # [linux] - - test -f targets/{{ target_name }}/include/cufftw.h # [linux] - - test -f targets/{{ target_name }}/include/cufftXt.h # [linux] + - test -f $PREFIX/targets/{{ target_name }}/include/cudalibxt.h # [linux] + - test -f $PREFIX/targets/{{ target_name }}/include/cufft.h # [linux] + - test -f $PREFIX/targets/{{ target_name }}/include/cufftw.h # [linux] + - test -f $PREFIX/targets/{{ target_name }}/include/cufftXt.h # [linux] - test -L $PREFIX/targets/{{ target_name }}/lib/libcufft.so # [linux] - test -L $PREFIX/targets/{{ target_name }}/lib/libcufftw.so # [linux] - - test -L $PREFIX/targets/{{ target_name }}/lib/stubs/libcufft.so # [linux] - - test -L $PREFIX/targets/{{ target_name }}/lib/stubs/libcufftw.so # [linux] + - test -f $PREFIX/targets/{{ target_name }}/lib/stubs/libcufft.so # [linux] + - test -f $PREFIX/targets/{{ target_name }}/lib/stubs/libcufftw.so # [linux] - if not exist %LIBRARY_INC%\cudalibxt.h exit 1 # [win] - if not exist %LIBRARY_INC%\cufft.h exit 1 # [win] - if not exist %LIBRARY_INC%\cufftw.h exit 1 # [win] @@ -126,8 +128,8 @@ outputs: build: skip: True # [not linux] files: - - targets/*/lib/libcufft*_static.a - - targets/*/lib/libcufft_static_nocallback.a + - targets/{{ target_name }}/lib/libcufft*_static.a + - targets/{{ target_name }}/lib/libcufft_static_nocallback.a requirements: build: - {{ compiler("c") }} @@ -142,8 +144,8 @@ outputs: - arm-variant * {{ arm_variant_type }} # [aarch64] test: commands: - - test -f $PREFIX/targets/*/lib/libcufft_static.a - - test -f $PREFIX/targets/*/lib/libcufftw_static.a + - test -f $PREFIX/targets/{{ target_name }}/lib/libcufft_static.a + - test -f $PREFIX/targets/{{ target_name }}/lib/libcufftw_static.a about: home: https://developer.nvidia.com/cufft license: LicenseRef-NVIDIA-End-User-License-Agreement From 603ccda598b763395ced011645f86a87977f6b36 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Thu, 6 Apr 2023 13:50:02 +0200 Subject: [PATCH 46/47] Add missing target name for win (not actually used anywhere I think) --- recipes/libcufft/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 479636e534589..491d204c8ba92 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -8,6 +8,7 @@ {% set target_name = "x86_64-linux" %} # [linux64] {% set target_name = "ppc64le-linux" %} # [ppc64le] {% set target_name = "sbsa-linux" %} # [aarch64] +{% set target_name = "x64" %} # [win] {% set extension = "tar.xz" %} # [not win] {% set extension = "zip" %} # [win] From f8e893803ff61af6e38cb2b3dc2b1598c7deb3f0 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Sat, 8 Apr 2023 16:09:40 -0500 Subject: [PATCH 47/47] Added a conda_build_config.yaml for arm-variant and other minor changes. --- recipes/libcufft/bld.bat | 2 +- recipes/libcufft/conda_build_config.yaml | 2 ++ recipes/libcufft/meta.yaml | 36 +++++++++++------------- 3 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 recipes/libcufft/conda_build_config.yaml diff --git a/recipes/libcufft/bld.bat b/recipes/libcufft/bld.bat index ba55ec496bf19..57ba00afb97f9 100644 --- a/recipes/libcufft/bld.bat +++ b/recipes/libcufft/bld.bat @@ -2,4 +2,4 @@ if not exist %PREFIX% mkdir %PREFIX% move lib\x64\* %LIBRARY_LIB% move bin\* %LIBRARY_BIN% -move include\* %LIBRARY_INC% \ No newline at end of file +move include\* %LIBRARY_INC% diff --git a/recipes/libcufft/conda_build_config.yaml b/recipes/libcufft/conda_build_config.yaml new file mode 100644 index 0000000000000..f0f19b6329c4a --- /dev/null +++ b/recipes/libcufft/conda_build_config.yaml @@ -0,0 +1,2 @@ +arm_variant_type: # [aarch64] + - sbsa # [aarch64] diff --git a/recipes/libcufft/meta.yaml b/recipes/libcufft/meta.yaml index 491d204c8ba92..94b16da856842 100644 --- a/recipes/libcufft/meta.yaml +++ b/recipes/libcufft/meta.yaml @@ -17,7 +17,7 @@ package: version: {{ version }} source: - url: https://developer.download.nvidia.com/compute/cuda/redist/libcufft/{{ platform }}/libcufft-{{ platform }}-{{ version }}-archive.{{ extension }} + url: https://developer.download.nvidia.com/compute/cuda/redist/{{ name }}/{{ platform }}/{{ name }}-{{ platform }}-{{ version }}-archive.{{ extension }} sha256: 4650f79fcf377af410afedb56445f1332e8f213ec3c94d660f9a91328c3ecb4a # [linux64] sha256: e711671995e9d92d16015a4cd3751ec30710a49fa22f2b88a4a42905c248d861 # [ppc64le] sha256: 91aa1ba5e68ca65778222c9a427a9214c4550d2f45e978e51779a207bafc17a3 # [aarch64] @@ -27,7 +27,6 @@ build: number: 0 skip: true # [osx] - outputs: - name: libcufft files: @@ -63,16 +62,16 @@ outputs: license: LicenseRef-NVIDIA-End-User-License-Agreement license_file: LICENSE license_url: https://docs.nvidia.com/cuda/eula/index.html - summary: 'cuFFT native runtime libraries' + summary: cuFFT native runtime libraries description: | - cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. - doc_url: https://docs.nvidia.com/cuda/cufft/index.html + The cuFFT library provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/ - name: libcufft-dev build: run_exports: weak: - - {{ pin_subpackage("libcufft", max_pin='x') }} + - {{ pin_subpackage("libcufft", max_pin="x") }} files: - lib/libcufft*.so # [linux] - lib/pkgconfig # [linux] @@ -92,7 +91,6 @@ outputs: run: - {{ pin_compatible("cuda-version", max_pin="x.x") }} - {{ pin_subpackage("libcufft", exact=True) }} - # TODO: Do we need cudart? But at this point it would fail CI. run_constrained: - arm-variant * {{ arm_variant_type }} # [aarch64] - libcufft-static >={{ version }} # [linux] @@ -119,18 +117,17 @@ outputs: license: LicenseRef-NVIDIA-End-User-License-Agreement license_file: LICENSE license_url: https://docs.nvidia.com/cuda/eula/index.html - summary: 'cuFFT native runtime libraries' + summary: cuFFT native runtime libraries description: | - cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. - doc_url: https://docs.nvidia.com/cuda/cufft/index.html + The cuFFT library provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/ - name: libcufft-static - # cuFFT does not ship `*_static.lib` on windows so only relevant on linux + # cuFFT does not ship `*_static.lib` on Windows so only relevant on linux build: skip: True # [not linux] files: - - targets/{{ target_name }}/lib/libcufft*_static.a - - targets/{{ target_name }}/lib/libcufft_static_nocallback.a + - targets/{{ target_name }}/lib/libcufft*_static*.a requirements: build: - {{ compiler("c") }} @@ -146,16 +143,17 @@ outputs: test: commands: - test -f $PREFIX/targets/{{ target_name }}/lib/libcufft_static.a + - test -f $PREFIX/targets/{{ target_name }}/lib/libcufft_static_nocallback.a - test -f $PREFIX/targets/{{ target_name }}/lib/libcufftw_static.a about: home: https://developer.nvidia.com/cufft license: LicenseRef-NVIDIA-End-User-License-Agreement license_file: LICENSE license_url: https://docs.nvidia.com/cuda/eula/index.html - summary: 'cuFFT native runtime libraries' + summary: cuFFT native runtime libraries description: | - cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. - doc_url: https://docs.nvidia.com/cuda/cufft/index.html + The cuFFT library provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/ about: @@ -163,10 +161,10 @@ about: license: LicenseRef-NVIDIA-End-User-License-Agreement license_file: LICENSE license_url: https://docs.nvidia.com/cuda/eula/index.html - summary: 'cuFFT native runtime libraries' + summary: cuFFT native runtime libraries description: | - cuFFT, a library that provides GPU-accelerated Fast Fourier Transform (FFT) implementations. - doc_url: https://docs.nvidia.com/cuda/cufft/index.html + The cuFFT library provides GPU-accelerated Fast Fourier Transform (FFT) implementations. + doc_url: https://docs.nvidia.com/cuda/cufft/ extra: recipe-maintainers: