From b585c2f4782c3604c9ad05189bddf22184836bb5 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 17:51:45 -0800 Subject: [PATCH 01/46] Add AdaptiveCpp --- recipes/AdaptiveCpp/build.sh | 15 +++++++++++ recipes/AdaptiveCpp/meta.yaml | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 recipes/AdaptiveCpp/build.sh create mode 100644 recipes/AdaptiveCpp/meta.yaml diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh new file mode 100644 index 0000000000000..3d3edda241259 --- /dev/null +++ b/recipes/AdaptiveCpp/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -exo pipefail + +cmake \ + $SRC_DIR \ + ${CMAKE_ARGS} \ + -G Ninja \ + -B build \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=Release + +cmake --build build --parallel + +cmake --build build --parallel --target install diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml new file mode 100644 index 0000000000000..a8b833fdc0fea --- /dev/null +++ b/recipes/AdaptiveCpp/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "AdaptiveCpp" %} +{% set version = "24.10.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + - url: https://github.com/AdaptiveCpp/AdaptiveCpp/archive/v{{ version }}.tar.gz + sha256: 3bcd94eee41adea3ccc58390498ec9fd30e1548af5330a319be8ce3e034a6a0b + +build: + number: 0 + run_exports: + - {{ pin_subpackage('adaptivecpp', max_pin='x.x') }} + skip: + - true # [not linux] + +requirements: + build: + - {{ compiler('cxx') }} + - {{ stdlib('c') }} + - cmake + - ninja + host: + - libboost-devel + - llvm-openmp + - spirv-tools + +test: + commands: + - test -f $PREFIX/lib/cmake/AdaptiveCpp/adaptivecpp-config.cmake # [not win] + - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] + +about: + home: https://adaptivecpp.github.io/ + summary: 'The independent, community-driven platform for heterogeneous programming in C++' + description: | + AdaptiveCpp is the independent, community-driven modern platform for + C++-based heterogeneous programming models targeting CPUs and GPUs from all + major vendors. AdaptiveCpp lets applications adapt themselves to all the + hardware found in the system. This includes use cases where a single binary + needs to be able to target all supported hardware, or utilize hardware from + different vendors simultaneously. + license: BSD-2-Clause + license_file: LICENSE + dev_url: https://github.com/AdaptiveCpp/AdaptiveCpp + +extra: + recipe-maintainers: + - jeongseok-meta From 47bf21eed854201eba16c19b075e3fdc916c6b19 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 18:05:02 -0800 Subject: [PATCH 02/46] Add clangdev --- recipes/AdaptiveCpp/build.sh | 2 +- recipes/AdaptiveCpp/meta.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh index 3d3edda241259..8000eb8c085a9 100644 --- a/recipes/AdaptiveCpp/build.sh +++ b/recipes/AdaptiveCpp/build.sh @@ -12,4 +12,4 @@ cmake \ cmake --build build --parallel -cmake --build build --parallel --target install +cmake --install build diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index a8b833fdc0fea..d1956fefea171 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -21,6 +21,7 @@ requirements: - {{ compiler('cxx') }} - {{ stdlib('c') }} - cmake + - clangdev - ninja host: - libboost-devel From 3b3fca59e45539fd121b8f4825cf26df50cdcc41 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 18:15:02 -0800 Subject: [PATCH 03/46] Add llvmdev --- recipes/AdaptiveCpp/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index d1956fefea171..3b7165bfeadce 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -22,6 +22,7 @@ requirements: - {{ stdlib('c') }} - cmake - clangdev + - llvmdev - ninja host: - libboost-devel From 74c7c993e4d24c64124286a7887c260f6beee855 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 18:24:00 -0800 Subject: [PATCH 04/46] Move llvm deps to host --- recipes/AdaptiveCpp/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 3b7165bfeadce..5713df4a29d82 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -21,12 +21,12 @@ requirements: - {{ compiler('cxx') }} - {{ stdlib('c') }} - cmake - - clangdev - - llvmdev - ninja host: + - clangdev - libboost-devel - llvm-openmp + - llvmdev - spirv-tools test: From 1d3993ef04ffef2188548e529f0b986b51607f0b Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 18:43:33 -0800 Subject: [PATCH 05/46] Add version constraint, llvmdev >=14,<19 --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 5713df4a29d82..1660d0baed653 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -26,7 +26,7 @@ requirements: - clangdev - libboost-devel - llvm-openmp - - llvmdev + - llvmdev >=14,<19 - spirv-tools test: From 9f4be78917abd6886e171c6f81f062d7519f75b8 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 19:01:48 -0800 Subject: [PATCH 06/46] Add version constraint, llvm-openmp >=14,19 --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 1660d0baed653..1b94ca7301258 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -25,7 +25,7 @@ requirements: host: - clangdev - libboost-devel - - llvm-openmp + - llvm-openmp >=14,<19 - llvmdev >=14,<19 - spirv-tools From 1c1b2effbadd93b72a529758368e4a832c7145cc Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 19:21:49 -0800 Subject: [PATCH 07/46] Override c_stdlib_version to 2.34 --- recipes/AdaptiveCpp/conda_build_config.yaml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 recipes/AdaptiveCpp/conda_build_config.yaml diff --git a/recipes/AdaptiveCpp/conda_build_config.yaml b/recipes/AdaptiveCpp/conda_build_config.yaml new file mode 100644 index 0000000000000..6911c718b9724 --- /dev/null +++ b/recipes/AdaptiveCpp/conda_build_config.yaml @@ -0,0 +1,4 @@ +# https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml + +c_stdlib_version: # [linux] + - 2.34 # [linux] From b1b8bda70851c7821d13ffb508293ab89f0ac8c8 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 19:48:12 -0800 Subject: [PATCH 08/46] Add run_constrained __glibc --- recipes/AdaptiveCpp/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 1b94ca7301258..214390829f9b4 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -28,6 +28,8 @@ requirements: - llvm-openmp >=14,<19 - llvmdev >=14,<19 - spirv-tools + run_constrained: + - __glibc >=2.34 # [linux] test: commands: From fb429ad238b2caff939dd4cbbcad8c940e170ee3 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 20:22:32 -0800 Subject: [PATCH 09/46] glibc >=2.39 --- recipes/AdaptiveCpp/conda_build_config.yaml | 2 +- recipes/AdaptiveCpp/meta.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/conda_build_config.yaml b/recipes/AdaptiveCpp/conda_build_config.yaml index 6911c718b9724..b21c830634f58 100644 --- a/recipes/AdaptiveCpp/conda_build_config.yaml +++ b/recipes/AdaptiveCpp/conda_build_config.yaml @@ -1,4 +1,4 @@ # https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml c_stdlib_version: # [linux] - - 2.34 # [linux] + - 2.39 # [linux] diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 214390829f9b4..d370896bca18c 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -29,7 +29,7 @@ requirements: - llvmdev >=14,<19 - spirv-tools run_constrained: - - __glibc >=2.34 # [linux] + - __glibc >=2.39 # [linux] test: commands: From a97244bf63397a0785e43b6bc593bc5dd4afea10 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 20:29:38 -0800 Subject: [PATCH 10/46] Add rocm-opencl --- recipes/AdaptiveCpp/conda_build_config.yaml | 4 ---- recipes/AdaptiveCpp/meta.yaml | 3 +-- 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 recipes/AdaptiveCpp/conda_build_config.yaml diff --git a/recipes/AdaptiveCpp/conda_build_config.yaml b/recipes/AdaptiveCpp/conda_build_config.yaml deleted file mode 100644 index b21c830634f58..0000000000000 --- a/recipes/AdaptiveCpp/conda_build_config.yaml +++ /dev/null @@ -1,4 +0,0 @@ -# https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml - -c_stdlib_version: # [linux] - - 2.39 # [linux] diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index d370896bca18c..d2df7bb450730 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -27,9 +27,8 @@ requirements: - libboost-devel - llvm-openmp >=14,<19 - llvmdev >=14,<19 + - rocm-opencl - spirv-tools - run_constrained: - - __glibc >=2.39 # [linux] test: commands: From 97b48ee04321e272b8f89b0a3904caf9d59354df Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 20:37:44 -0800 Subject: [PATCH 11/46] Add ocl-icd --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index d2df7bb450730..580cdd5fd988b 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -27,7 +27,7 @@ requirements: - libboost-devel - llvm-openmp >=14,<19 - llvmdev >=14,<19 - - rocm-opencl + - ocl-icd - spirv-tools test: From ad381ff14098f7138b03f276ff60629b9bb5797c Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 20:46:13 -0800 Subject: [PATCH 12/46] Add fallback functions for missing fmaxmag() and fmaxmagf() --- recipes/AdaptiveCpp/build.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh index 8000eb8c085a9..65acf2a35f87c 100644 --- a/recipes/AdaptiveCpp/build.sh +++ b/recipes/AdaptiveCpp/build.sh @@ -2,6 +2,42 @@ set -exo pipefail +cat < fallback_fmaxmag.h +/* + These fallback definitions are needed because fmaxmag() and fmaxmagf() + are non-standard HPC/GPU extension functions (not provided by glibc or + the C/C++ standard library). Host compilation will fail if these symbols + are missing. This header injects simple versions of these functions so + that the build can succeed on standard Linux toolchains. +*/ +#ifndef FALLBACK_FMAXMAG_H +#define FALLBACK_FMAXMAG_H + +#include + +inline float fmaxmagf(float x, float y) { + float ax = std::fabs(x); + float ay = std::fabs(y); + if (ax > ay) return x; + if (ay > ax) return y; + // In case of a tie, we pick x arbitrarily. + return x; +} + +inline double fmaxmag(double x, double y) { + double ax = std::fabs(x); + double ay = std::fabs(y); + if (ax > ay) return x; + if (ay > ax) return y; + // In case of a tie, we pick x arbitrarily. + return x; +} + +#endif // FALLBACK_FMAXMAG_H +EOF + +export CXXFLAGS="$CXXFLAGS -include $PWD/fallback_fmaxmag.h" + cmake \ $SRC_DIR \ ${CMAKE_ARGS} \ From a4cd5bd980486230fee548265728e24722028966 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 20:58:12 -0800 Subject: [PATCH 13/46] Use CMAKE_CXX_FLAGS instead --- recipes/AdaptiveCpp/build.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh index 65acf2a35f87c..cfb0c3dcc19ed 100644 --- a/recipes/AdaptiveCpp/build.sh +++ b/recipes/AdaptiveCpp/build.sh @@ -36,15 +36,14 @@ inline double fmaxmag(double x, double y) { #endif // FALLBACK_FMAXMAG_H EOF -export CXXFLAGS="$CXXFLAGS -include $PWD/fallback_fmaxmag.h" - cmake \ $SRC_DIR \ ${CMAKE_ARGS} \ -G Ninja \ -B build \ -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Release + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -include ${PWD}/fallback_fmaxmag.h" \ cmake --build build --parallel From 93516d83e6fc5485a424b022b744b6780b581101 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 21:15:23 -0800 Subject: [PATCH 14/46] Add patch for missing functions --- recipes/AdaptiveCpp/build.sh | 37 +------------------ recipes/AdaptiveCpp/meta.yaml | 2 + .../patches/fallback-missing-functions.patch | 0 3 files changed, 3 insertions(+), 36 deletions(-) create mode 100644 recipes/AdaptiveCpp/patches/fallback-missing-functions.patch diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh index cfb0c3dcc19ed..8000eb8c085a9 100644 --- a/recipes/AdaptiveCpp/build.sh +++ b/recipes/AdaptiveCpp/build.sh @@ -2,48 +2,13 @@ set -exo pipefail -cat < fallback_fmaxmag.h -/* - These fallback definitions are needed because fmaxmag() and fmaxmagf() - are non-standard HPC/GPU extension functions (not provided by glibc or - the C/C++ standard library). Host compilation will fail if these symbols - are missing. This header injects simple versions of these functions so - that the build can succeed on standard Linux toolchains. -*/ -#ifndef FALLBACK_FMAXMAG_H -#define FALLBACK_FMAXMAG_H - -#include - -inline float fmaxmagf(float x, float y) { - float ax = std::fabs(x); - float ay = std::fabs(y); - if (ax > ay) return x; - if (ay > ax) return y; - // In case of a tie, we pick x arbitrarily. - return x; -} - -inline double fmaxmag(double x, double y) { - double ax = std::fabs(x); - double ay = std::fabs(y); - if (ax > ay) return x; - if (ay > ax) return y; - // In case of a tie, we pick x arbitrarily. - return x; -} - -#endif // FALLBACK_FMAXMAG_H -EOF - cmake \ $SRC_DIR \ ${CMAKE_ARGS} \ -G Ninja \ -B build \ -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS} -include ${PWD}/fallback_fmaxmag.h" \ + -DCMAKE_BUILD_TYPE=Release cmake --build build --parallel diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 580cdd5fd988b..55d7c312ccb47 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -8,6 +8,8 @@ package: source: - url: https://github.com/AdaptiveCpp/AdaptiveCpp/archive/v{{ version }}.tar.gz sha256: 3bcd94eee41adea3ccc58390498ec9fd30e1548af5330a319be8ce3e034a6a0b + patches: + - patches/fallback-missing-functions.patch build: number: 0 diff --git a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch new file mode 100644 index 0000000000000..e69de29bb2d1d From 2acf1441afc6e05283388f80fb840e2e200f8c0b Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 21:33:32 -0800 Subject: [PATCH 15/46] Add actual patch --- .../patches/fallback-missing-functions.patch | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch index e69de29bb2d1d..bb24c9d18fe93 100644 --- a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch +++ b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch @@ -0,0 +1,40 @@ +diff --git a/src/libkernel/sscp/host/math.cpp b/src/libkernel/sscp/host/math.cpp +index 9ee91df9..a592c6a7 100644 +--- a/src/libkernel/sscp/host/math.cpp ++++ b/src/libkernel/sscp/host/math.cpp +@@ -8,6 +8,35 @@ + * See file LICENSE in the project root for full license details. + */ + // SPDX-License-Identifier: BSD-2-Clause ++ ++/* ++ Patch: Provide fallback definitions for fmaxmag() and fmaxmagf() on host builds. ++ Reason: ++ - These functions are non-standard HPC/GPU extension functions and ++ do not exist in glibc or standard math libraries. ++ - Without these definitions, host compilation fails on "use of undeclared identifier 'fmaxmagf'/'fmaxmag'." ++*/ ++ ++#ifndef fmaxmagf ++inline float fmaxmagf(float x, float y) { ++ float ax = std::fabs(x); ++ float ay = std::fabs(y); ++ if (ax > ay) return x; ++ if (ay > ax) return y; ++ // In case of a tie, pick x arbitrarily ++ return x; ++} ++#endif ++ ++#ifndef fmaxmag ++inline double fmaxmag(double x, double y) { ++ double ax = std::fabs(x); ++ double ay = std::fabs(y); ++ if (ax > ay) return x; ++ if (ay > ax) return y; ++ return x; ++} ++ + #include + + #include "hipSYCL/sycl/libkernel/sscp/builtins/builtin_config.hpp" From b1b7401574a0ab11e7885c9996b0ab40eae25b3e Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 21:57:22 -0800 Subject: [PATCH 16/46] Fix patch --- .../patches/fallback-missing-functions.patch | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch index bb24c9d18fe93..e27aee1e1627c 100644 --- a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch +++ b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch @@ -1,12 +1,11 @@ diff --git a/src/libkernel/sscp/host/math.cpp b/src/libkernel/sscp/host/math.cpp -index 9ee91df9..a592c6a7 100644 +index 9ee91df9..26524a05 100644 --- a/src/libkernel/sscp/host/math.cpp +++ b/src/libkernel/sscp/host/math.cpp -@@ -8,6 +8,35 @@ - * See file LICENSE in the project root for full license details. - */ - // SPDX-License-Identifier: BSD-2-Clause -+ +@@ -13,6 +13,34 @@ + #include "hipSYCL/sycl/libkernel/sscp/builtins/builtin_config.hpp" + #include "hipSYCL/sycl/libkernel/sscp/builtins/math.hpp" + +/* + Patch: Provide fallback definitions for fmaxmag() and fmaxmagf() on host builds. + Reason: @@ -35,6 +34,6 @@ index 9ee91df9..a592c6a7 100644 + return x; +} + - #include - - #include "hipSYCL/sycl/libkernel/sscp/builtins/builtin_config.hpp" + #define HIPSYCL_SSCP_MAP_HOST_FLOAT_BUILTIN(name) \ + \ + HIPSYCL_SSCP_BUILTIN float __acpp_sscp_##name##_f32(float x) { \ From 522fef546a1180fd4a5f4427342e1b145f62bcb5 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 22:28:11 -0800 Subject: [PATCH 17/46] More fix --- recipes/AdaptiveCpp/patches/fallback-missing-functions.patch | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch index e27aee1e1627c..d1f09bd797ec7 100644 --- a/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch +++ b/recipes/AdaptiveCpp/patches/fallback-missing-functions.patch @@ -1,8 +1,8 @@ diff --git a/src/libkernel/sscp/host/math.cpp b/src/libkernel/sscp/host/math.cpp -index 9ee91df9..26524a05 100644 +index 9ee91df9..83b7fb1d 100644 --- a/src/libkernel/sscp/host/math.cpp +++ b/src/libkernel/sscp/host/math.cpp -@@ -13,6 +13,34 @@ +@@ -13,6 +13,35 @@ #include "hipSYCL/sycl/libkernel/sscp/builtins/builtin_config.hpp" #include "hipSYCL/sycl/libkernel/sscp/builtins/math.hpp" @@ -33,6 +33,7 @@ index 9ee91df9..26524a05 100644 + if (ay > ax) return y; + return x; +} ++#endif + #define HIPSYCL_SSCP_MAP_HOST_FLOAT_BUILTIN(name) \ \ From 238cc6cab083b6543bdff9476cc142d3aa64e13d Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 21 Dec 2024 23:55:16 -0800 Subject: [PATCH 18/46] Remove ocl-icd --- recipes/AdaptiveCpp/meta.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 55d7c312ccb47..9a24a92802709 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -29,7 +29,6 @@ requirements: - libboost-devel - llvm-openmp >=14,<19 - llvmdev >=14,<19 - - ocl-icd - spirv-tools test: From f94312ea1ff6d6e4748423ee8ec4d26a45c1cc31 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 22 Dec 2024 00:12:33 -0800 Subject: [PATCH 19/46] Add llvmdev to req.run --- recipes/AdaptiveCpp/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 9a24a92802709..21f4ea75451cc 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -30,6 +30,8 @@ requirements: - llvm-openmp >=14,<19 - llvmdev >=14,<19 - spirv-tools + run: + - llvmdev >=14,<19 test: commands: From f5b097e410ab47d2bf9870b1e060154abab94522 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 22 Dec 2024 00:37:12 -0800 Subject: [PATCH 20/46] llvmdev -> llvm --- recipes/AdaptiveCpp/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 21f4ea75451cc..aebc25eea24d1 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -28,10 +28,10 @@ requirements: - clangdev - libboost-devel - llvm-openmp >=14,<19 - - llvmdev >=14,<19 + - llvm >=14,<19 - spirv-tools run: - - llvmdev >=14,<19 + - llvm >=14,<19 test: commands: From acf9b668b1e66858f309e99840f407bf93153916 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Wed, 1 Jan 2025 20:18:05 -0800 Subject: [PATCH 21/46] Enable osx and win --- recipes/AdaptiveCpp/bld.bat | 10 ++++++++++ recipes/AdaptiveCpp/meta.yaml | 6 ++---- 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 recipes/AdaptiveCpp/bld.bat diff --git a/recipes/AdaptiveCpp/bld.bat b/recipes/AdaptiveCpp/bld.bat new file mode 100644 index 0000000000000..6d0a20d7f841c --- /dev/null +++ b/recipes/AdaptiveCpp/bld.bat @@ -0,0 +1,10 @@ +@echo on + +cmake %SRC_DIR% ^ + %CMAKE_ARGS% ^ + -B build ^ + -DBUILD_SHARED_LIBS=ON + +cmake --build build --parallel --config Release + +cmake --install build --config Release diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index aebc25eea24d1..b48794e583a62 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -9,21 +9,19 @@ source: - url: https://github.com/AdaptiveCpp/AdaptiveCpp/archive/v{{ version }}.tar.gz sha256: 3bcd94eee41adea3ccc58390498ec9fd30e1548af5330a319be8ce3e034a6a0b patches: - - patches/fallback-missing-functions.patch + - patches/fallback-missing-functions.patch # [linux] build: number: 0 run_exports: - {{ pin_subpackage('adaptivecpp', max_pin='x.x') }} - skip: - - true # [not linux] requirements: build: - {{ compiler('cxx') }} - {{ stdlib('c') }} - cmake - - ninja + - ninja # [not win] host: - clangdev - libboost-devel From c5b309c8e51e4e488a666af0a68e04009a064f40 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Wed, 1 Jan 2025 20:35:06 -0800 Subject: [PATCH 22/46] c_stdlib_version: 10.15 --- recipes/AdaptiveCpp/conda_build_config.yaml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 recipes/AdaptiveCpp/conda_build_config.yaml diff --git a/recipes/AdaptiveCpp/conda_build_config.yaml b/recipes/AdaptiveCpp/conda_build_config.yaml new file mode 100644 index 0000000000000..17c8509ebe8b7 --- /dev/null +++ b/recipes/AdaptiveCpp/conda_build_config.yaml @@ -0,0 +1,2 @@ +c_stdlib_version: # [osx and x86_64] + - '10.15' # [osx and x86_64] From 7e24532127414131ff8fa4db232e9ea7932ebe92 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Wed, 1 Jan 2025 20:35:18 -0800 Subject: [PATCH 23/46] Set CMake options explicitly --- recipes/AdaptiveCpp/bld.bat | 5 ++++- recipes/AdaptiveCpp/build.sh | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/bld.bat b/recipes/AdaptiveCpp/bld.bat index 6d0a20d7f841c..5eadcc956cc99 100644 --- a/recipes/AdaptiveCpp/bld.bat +++ b/recipes/AdaptiveCpp/bld.bat @@ -3,7 +3,10 @@ cmake %SRC_DIR% ^ %CMAKE_ARGS% ^ -B build ^ - -DBUILD_SHARED_LIBS=ON + -DBUILD_SHARED_LIBS=ON ^ + -DWITH_CUDA_BACKEND=OFF ^ + -DWITH_OPENCL_BACKEND=OFF ^ + -DWITH_ROCM_BACKEND=OFF cmake --build build --parallel --config Release diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh index 8000eb8c085a9..3af8b1eba31e7 100644 --- a/recipes/AdaptiveCpp/build.sh +++ b/recipes/AdaptiveCpp/build.sh @@ -8,7 +8,10 @@ cmake \ -G Ninja \ -B build \ -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Release + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_CUDA_BACKEND=OFF \ + -DWITH_OPENCL_BACKEND=OFF \ + -DWITH_ROCM_BACKEND=OFF cmake --build build --parallel From c9f689b8ac0621baefe79145742189483bea98ed Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Wed, 1 Jan 2025 20:37:51 -0800 Subject: [PATCH 24/46] Use clang compiler for win --- recipes/AdaptiveCpp/conda_build_config.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/AdaptiveCpp/conda_build_config.yaml b/recipes/AdaptiveCpp/conda_build_config.yaml index 17c8509ebe8b7..d693b0f5d1844 100644 --- a/recipes/AdaptiveCpp/conda_build_config.yaml +++ b/recipes/AdaptiveCpp/conda_build_config.yaml @@ -1,2 +1,7 @@ +c_compiler: + - clang # [win] +cxx_compiler: + - clangxx # [win] + c_stdlib_version: # [osx and x86_64] - '10.15' # [osx and x86_64] From e0a0ccb36ab9c788e6539c87f1396903b678cddc Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Wed, 1 Jan 2025 20:50:56 -0800 Subject: [PATCH 25/46] Attempt to use ClangCL for win --- recipes/AdaptiveCpp/bld.bat | 2 ++ recipes/AdaptiveCpp/conda_build_config.yaml | 5 ----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/recipes/AdaptiveCpp/bld.bat b/recipes/AdaptiveCpp/bld.bat index 5eadcc956cc99..02a5fa32e17e9 100644 --- a/recipes/AdaptiveCpp/bld.bat +++ b/recipes/AdaptiveCpp/bld.bat @@ -2,6 +2,8 @@ cmake %SRC_DIR% ^ %CMAKE_ARGS% ^ + -T ClangCL ^ + -A x64 ^ -B build ^ -DBUILD_SHARED_LIBS=ON ^ -DWITH_CUDA_BACKEND=OFF ^ diff --git a/recipes/AdaptiveCpp/conda_build_config.yaml b/recipes/AdaptiveCpp/conda_build_config.yaml index d693b0f5d1844..17c8509ebe8b7 100644 --- a/recipes/AdaptiveCpp/conda_build_config.yaml +++ b/recipes/AdaptiveCpp/conda_build_config.yaml @@ -1,7 +1,2 @@ -c_compiler: - - clang # [win] -cxx_compiler: - - clangxx # [win] - c_stdlib_version: # [osx and x86_64] - '10.15' # [osx and x86_64] From 557b769871b1c3ff9ccef341b4a48ec1c18bcdea Mon Sep 17 00:00:00 2001 From: "Jeongseok (JS) Lee" <142548112+jeongseok-meta@users.noreply.github.com> Date: Sat, 11 Jan 2025 10:15:07 -0800 Subject: [PATCH 26/46] Update recipes/AdaptiveCpp/build.sh Co-authored-by: Daniel Ching <9604511+carterbox@users.noreply.github.com> --- recipes/AdaptiveCpp/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/build.sh b/recipes/AdaptiveCpp/build.sh index 3af8b1eba31e7..c1340b2df89ea 100644 --- a/recipes/AdaptiveCpp/build.sh +++ b/recipes/AdaptiveCpp/build.sh @@ -15,4 +15,4 @@ cmake \ cmake --build build --parallel -cmake --install build +cmake --install build --strip From ed1af68986c3fedd0a979f07ad2989bbe66851e4 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 10:17:14 -0800 Subject: [PATCH 27/46] libboost-devel -> libboost-headers --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index b48794e583a62..e9d7cd849e79b 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -24,7 +24,7 @@ requirements: - ninja # [not win] host: - clangdev - - libboost-devel + - libboost-headers - llvm-openmp >=14,<19 - llvm >=14,<19 - spirv-tools From 89026740b11fe6a173e3bcb57746548494319d49 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 10:27:30 -0800 Subject: [PATCH 28/46] Add tests for a header and a library --- recipes/AdaptiveCpp/meta.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index e9d7cd849e79b..11be12ac157cb 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -33,8 +33,13 @@ requirements: test: commands: + - test -f $PREFIX/include/AdaptiveCpp/sycl/sycl.hpp # [not win] - test -f $PREFIX/lib/cmake/AdaptiveCpp/adaptivecpp-config.cmake # [not win] + - test -f $PREFIX/lib/libacpp-common${SHLIB_EXT} # [not win] + - if not exist %PREFIX%\\Library\\include\\AdaptiveCpp\\SYCL\\sycl.hpp exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] + - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] + - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] about: home: https://adaptivecpp.github.io/ From b9ef41bcd6e6b55f7559f7c20d8cf396fcf9ec55 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 10:44:05 -0800 Subject: [PATCH 29/46] Add test for CLI --- recipes/AdaptiveCpp/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 11be12ac157cb..ae192937e711d 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -36,10 +36,12 @@ test: - test -f $PREFIX/include/AdaptiveCpp/sycl/sycl.hpp # [not win] - test -f $PREFIX/lib/cmake/AdaptiveCpp/adaptivecpp-config.cmake # [not win] - test -f $PREFIX/lib/libacpp-common${SHLIB_EXT} # [not win] + - $PREFIX/bin/acpp-info - if not exist %PREFIX%\\Library\\include\\AdaptiveCpp\\SYCL\\sycl.hpp exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] + - %PREFIX%\\Library\\bin\\acpp-info.exe about: home: https://adaptivecpp.github.io/ From 56c6a61ec46bf29453819903e5c0d945af050ed5 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 10:48:16 -0800 Subject: [PATCH 30/46] Add libboost --- recipes/AdaptiveCpp/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index ae192937e711d..832d1ae0b0853 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -24,6 +24,7 @@ requirements: - ninja # [not win] host: - clangdev + - libboost - libboost-headers - llvm-openmp >=14,<19 - llvm >=14,<19 From 99161e3384ea33d8cc1233208d4da1d73b978d05 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 10:48:53 -0800 Subject: [PATCH 31/46] Fix tests --- recipes/AdaptiveCpp/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 832d1ae0b0853..b32326ea9d62c 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -37,12 +37,12 @@ test: - test -f $PREFIX/include/AdaptiveCpp/sycl/sycl.hpp # [not win] - test -f $PREFIX/lib/cmake/AdaptiveCpp/adaptivecpp-config.cmake # [not win] - test -f $PREFIX/lib/libacpp-common${SHLIB_EXT} # [not win] - - $PREFIX/bin/acpp-info + - $PREFIX/bin/acpp-info # [not win] - if not exist %PREFIX%\\Library\\include\\AdaptiveCpp\\SYCL\\sycl.hpp exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - - %PREFIX%\\Library\\bin\\acpp-info.exe + - %PREFIX%\\Library\\bin\\acpp-info.exe # [win] about: home: https://adaptivecpp.github.io/ From 63be60dde765a831734ca33536dd1a3b0b5ce407 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 11:02:38 -0800 Subject: [PATCH 32/46] Add simple test program --- recipes/AdaptiveCpp/meta.yaml | 9 ++++ recipes/AdaptiveCpp/run_test_cpp.bat | 12 +++++ recipes/AdaptiveCpp/run_test_cpp.sh | 12 +++++ recipes/AdaptiveCpp/tests/CMakeLists.txt | 16 ++++++ recipes/AdaptiveCpp/tests/main.cpp | 64 ++++++++++++++++++++++++ 5 files changed, 113 insertions(+) create mode 100644 recipes/AdaptiveCpp/run_test_cpp.bat create mode 100644 recipes/AdaptiveCpp/run_test_cpp.sh create mode 100644 recipes/AdaptiveCpp/tests/CMakeLists.txt create mode 100644 recipes/AdaptiveCpp/tests/main.cpp diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index b32326ea9d62c..74974cacba728 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -43,6 +43,15 @@ test: - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - %PREFIX%\\Library\\bin\\acpp-info.exe # [win] + script: run_test_cpp.sh # [not win] + script: run_test_cpp.bat # [win] + requires: + - cmake + - {{ compiler("c") }} + - {{ compiler("cxx") }} + - ninja # [unix] + files: + - tests/ about: home: https://adaptivecpp.github.io/ diff --git a/recipes/AdaptiveCpp/run_test_cpp.bat b/recipes/AdaptiveCpp/run_test_cpp.bat new file mode 100644 index 0000000000000..f93b9377bfd6d --- /dev/null +++ b/recipes/AdaptiveCpp/run_test_cpp.bat @@ -0,0 +1,12 @@ +@echo on + +cmake tests ^ + %CMAKE_ARGS% ^ + -B tests/build ^ + -T ClangCL ^ + -A x64 ^ + -DBUILD_SHARED_LIBS=ON +if errorlevel 1 exit 1 + +cmake --build tests/build --parallel --config Release +if errorlevel 1 exit 1 diff --git a/recipes/AdaptiveCpp/run_test_cpp.sh b/recipes/AdaptiveCpp/run_test_cpp.sh new file mode 100644 index 0000000000000..89909aa8a46f5 --- /dev/null +++ b/recipes/AdaptiveCpp/run_test_cpp.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -exo pipefail + +cmake tests \ + ${CMAKE_ARGS} \ + -G Ninja \ + -B tests/build \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=Release + +cmake --build tests/build --parallel diff --git a/recipes/AdaptiveCpp/tests/CMakeLists.txt b/recipes/AdaptiveCpp/tests/CMakeLists.txt new file mode 100644 index 0000000000000..910c7580d66a1 --- /dev/null +++ b/recipes/AdaptiveCpp/tests/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.10) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +project(adaptivecpp-example) + +find_package(AdaptiveCpp CONFIG REQUIRED) + +if(WIN32) + add_definitions(-D_USE_MATH_DEFINES) +endif() + +add_executable(${PROJECT_NAME} main.cpp) +add_sycl_to_target(TARGET ${PROJECT_NAME} SOURCES main.cpp) diff --git a/recipes/AdaptiveCpp/tests/main.cpp b/recipes/AdaptiveCpp/tests/main.cpp new file mode 100644 index 0000000000000..01d61dca36d01 --- /dev/null +++ b/recipes/AdaptiveCpp/tests/main.cpp @@ -0,0 +1,64 @@ +#ifdef WIN32 + #include +#else + #include +#endif + +#include + +int main(int argc, char** argv) { + try { + // Get all available SYCL platforms + std::vector platforms = sycl::platform::get_platforms(); + + std::cout << "Available platforms: " << platforms.size() << "\n\n"; + for (const auto& plt : platforms) { + std::cout << "Platform: " << plt.get_info() << "\n"; + std::cout << "Vendor: " << plt.get_info() << "\n"; + std::cout << "Version: " << plt.get_info() << "\n\n"; + + // Get all devices in this platform + std::vector devices = plt.get_devices(); + + std::cout << " Number of devices in this platform: " << devices.size() << "\n"; + for (const auto& dev : devices) { + std::cout << " Device Name : " << dev.get_info() << "\n"; + std::cout << " Vendor : " << dev.get_info() << "\n"; + std::cout << " Driver : " << dev.get_info() + << "\n"; + std::cout << " Device Type : "; + switch (dev.get_info()) { + case sycl::info::device_type::cpu: + std::cout << "CPU\n"; + break; + case sycl::info::device_type::gpu: + std::cout << "GPU\n"; + break; + case sycl::info::device_type::accelerator: + std::cout << "Accelerator\n"; + break; + case sycl::info::device_type::host: + std::cout << "Host\n"; + break; + default: + std::cout << "Unknown\n"; + break; + } + + // Print out some device capabilities + std::cout << " Max Compute Units: " + << dev.get_info() << "\n"; + std::cout << " Max Work Group Size: " + << dev.get_info() << "\n\n"; + } + + std::cout << "--------------------------------------\n\n"; + } + + } catch (sycl::exception const& e) { + std::cerr << "SYCL Exception: " << e.what() << "\n"; + return 1; + } + + return 0; +} From 377458a3eaf03d2e663194c8ad218d0e6e9167c3 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 11:06:07 -0800 Subject: [PATCH 33/46] Attempt to resolve win CLI test --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 74974cacba728..58af9bb930e23 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -42,7 +42,7 @@ test: - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - - %PREFIX%\\Library\\bin\\acpp-info.exe # [win] + - "%PREFIX%\\Library\\bin\\acpp-info.exe" # [win] script: run_test_cpp.sh # [not win] script: run_test_cpp.bat # [win] requires: From 4f7f4bc9798d296df9ccad33fbf99fcdf24047f3 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 11:14:29 -0800 Subject: [PATCH 34/46] Add libboost-devel to ignore_run_exports --- recipes/AdaptiveCpp/meta.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 58af9bb930e23..2504c49c305af 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -15,6 +15,8 @@ build: number: 0 run_exports: - {{ pin_subpackage('adaptivecpp', max_pin='x.x') }} + ignore_run_exports: + - libboost-devel requirements: build: @@ -24,8 +26,7 @@ requirements: - ninja # [not win] host: - clangdev - - libboost - - libboost-headers + - libboost-devel - llvm-openmp >=14,<19 - llvm >=14,<19 - spirv-tools From f10fa7b6cfaaad1ab39432e0e2a22aa25fe65074 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 11:21:32 -0800 Subject: [PATCH 35/46] Fix test script file names --- recipes/AdaptiveCpp/meta.yaml | 2 -- recipes/AdaptiveCpp/{run_test_cpp.bat => run_test.bat} | 0 recipes/AdaptiveCpp/{run_test_cpp.sh => run_test.sh} | 0 3 files changed, 2 deletions(-) rename recipes/AdaptiveCpp/{run_test_cpp.bat => run_test.bat} (100%) rename recipes/AdaptiveCpp/{run_test_cpp.sh => run_test.sh} (100%) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 2504c49c305af..0bc0905f2a387 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -44,8 +44,6 @@ test: - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - "%PREFIX%\\Library\\bin\\acpp-info.exe" # [win] - script: run_test_cpp.sh # [not win] - script: run_test_cpp.bat # [win] requires: - cmake - {{ compiler("c") }} diff --git a/recipes/AdaptiveCpp/run_test_cpp.bat b/recipes/AdaptiveCpp/run_test.bat similarity index 100% rename from recipes/AdaptiveCpp/run_test_cpp.bat rename to recipes/AdaptiveCpp/run_test.bat diff --git a/recipes/AdaptiveCpp/run_test_cpp.sh b/recipes/AdaptiveCpp/run_test.sh similarity index 100% rename from recipes/AdaptiveCpp/run_test_cpp.sh rename to recipes/AdaptiveCpp/run_test.sh From cd46bcda354adf58702d0f6ded24855c0944fd1f Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 11:42:53 -0800 Subject: [PATCH 36/46] Add clangdev for test --- recipes/AdaptiveCpp/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 0bc0905f2a387..6d1f135fefde1 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -48,6 +48,7 @@ test: - cmake - {{ compiler("c") }} - {{ compiler("cxx") }} + - clangdev - ninja # [unix] files: - tests/ From 1e854f7c439c203d89b7a8fafd6394b0a5864df5 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 11:44:20 -0800 Subject: [PATCH 37/46] Ignore run exports for libboost --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 6d1f135fefde1..5f80c5f3f031a 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -16,7 +16,7 @@ build: run_exports: - {{ pin_subpackage('adaptivecpp', max_pin='x.x') }} ignore_run_exports: - - libboost-devel + - libboost requirements: build: From e9298d124c3fe39b2305b8c5c4fcba2ee120adc1 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 12:17:45 -0800 Subject: [PATCH 38/46] Skip osx for now --- recipes/AdaptiveCpp/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 5f80c5f3f031a..2d36afcda1c05 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -17,6 +17,7 @@ build: - {{ pin_subpackage('adaptivecpp', max_pin='x.x') }} ignore_run_exports: - libboost + skip: true # [osx] requirements: build: @@ -45,10 +46,10 @@ test: - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - "%PREFIX%\\Library\\bin\\acpp-info.exe" # [win] requires: - - cmake - {{ compiler("c") }} - {{ compiler("cxx") }} - clangdev + - cmake - ninja # [unix] files: - tests/ From 8b4d80cfae59b7ee02078d755d4df10612dd1cf7 Mon Sep 17 00:00:00 2001 From: Daniel Ching <9604511+carterbox@users.noreply.github.com> Date: Sat, 11 Jan 2025 14:48:13 -0600 Subject: [PATCH 39/46] TST: Don't use full paths for acpp-info --- recipes/AdaptiveCpp/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 2d36afcda1c05..eac4a64a9b80f 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -39,12 +39,12 @@ test: - test -f $PREFIX/include/AdaptiveCpp/sycl/sycl.hpp # [not win] - test -f $PREFIX/lib/cmake/AdaptiveCpp/adaptivecpp-config.cmake # [not win] - test -f $PREFIX/lib/libacpp-common${SHLIB_EXT} # [not win] - - $PREFIX/bin/acpp-info # [not win] + - acpp-info # [not win] - if not exist %PREFIX%\\Library\\include\\AdaptiveCpp\\SYCL\\sycl.hpp exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - - "%PREFIX%\\Library\\bin\\acpp-info.exe" # [win] + - acpp-info.exe # [win] requires: - {{ compiler("c") }} - {{ compiler("cxx") }} From 75e8cfa6f4cd6a09c147c4b1f2de0b4f98fb8187 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 13:02:32 -0800 Subject: [PATCH 40/46] Attempt to fix syntax error --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index eac4a64a9b80f..08cd74ff0a111 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -44,7 +44,7 @@ test: - if not exist %PREFIX%\\Library\\lib\\cmake\\AdaptiveCpp\\adaptivecpp-config.cmake exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\acpp-common.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\acpp-common.dll exit 1 # [win] - - acpp-info.exe # [win] + - "acpp-info.exe" # [win] requires: - {{ compiler("c") }} - {{ compiler("cxx") }} From 3b1b6c1499399873526edaea8c84e93e60195c08 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 17:41:37 -0800 Subject: [PATCH 41/46] Remove llvm from run req --- recipes/AdaptiveCpp/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 08cd74ff0a111..21f3d9433ae29 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -31,8 +31,6 @@ requirements: - llvm-openmp >=14,<19 - llvm >=14,<19 - spirv-tools - run: - - llvm >=14,<19 test: commands: From f7f3a98e60b709f56490ce4e47b9ae10ee460318 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 17:43:06 -0800 Subject: [PATCH 42/46] Move around deps to resolve export warnings --- recipes/AdaptiveCpp/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 21f3d9433ae29..31436879e0ef3 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -24,13 +24,13 @@ requirements: - {{ compiler('cxx') }} - {{ stdlib('c') }} - cmake + - llvm-openmp >=14,<19 - ninja # [not win] + - spirv-tools host: - clangdev - libboost-devel - - llvm-openmp >=14,<19 - llvm >=14,<19 - - spirv-tools test: commands: From fa04275356c653bdb7a7c68b206a5beeebf1b683 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 11 Jan 2025 17:59:32 -0800 Subject: [PATCH 43/46] Move llvm-openmp to host --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 31436879e0ef3..01b8b1915c13c 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -24,12 +24,12 @@ requirements: - {{ compiler('cxx') }} - {{ stdlib('c') }} - cmake - - llvm-openmp >=14,<19 - ninja # [not win] - spirv-tools host: - clangdev - libboost-devel + - llvm-openmp >=14,<19 - llvm >=14,<19 test: From 16a0b4faaf48311cd7ac63df000f48a0d04caf31 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 12 Jan 2025 05:24:14 -0800 Subject: [PATCH 44/46] Add llvm to run req --- recipes/AdaptiveCpp/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 01b8b1915c13c..cc704c2543fd1 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -31,6 +31,8 @@ requirements: - libboost-devel - llvm-openmp >=14,<19 - llvm >=14,<19 + run: + - llvm >=14,<19 test: commands: From cc534c251c28759991c4a2ba11a866151f1a133e Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 12 Jan 2025 05:56:06 -0800 Subject: [PATCH 45/46] Add llvm to ignore_run_exports --- recipes/AdaptiveCpp/meta.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index cc704c2543fd1..125f75b8680bf 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -17,6 +17,8 @@ build: - {{ pin_subpackage('adaptivecpp', max_pin='x.x') }} ignore_run_exports: - libboost + - llvm + - llvm-openmp skip: true # [osx] requirements: @@ -29,8 +31,8 @@ requirements: host: - clangdev - libboost-devel - - llvm-openmp >=14,<19 - llvm >=14,<19 + - llvm-openmp >=14,<19 run: - llvm >=14,<19 From 774850ff36830c2fc576604965308e3e06b9e3b4 Mon Sep 17 00:00:00 2001 From: "Jeongseok (JS) Lee" <142548112+jeongseok-meta@users.noreply.github.com> Date: Mon, 13 Jan 2025 08:52:58 -0800 Subject: [PATCH 46/46] llvm-openmp is needed to be run req otherwise, ``` 2025-01-12T14:12:00.7299718Z ERROR (adaptivecpp,Library/bin/hipSYCL/rt-backend-omp.dll): Needed DSO Library/bin/libomp.dll found in ['conda-forge/win-64::llvm-openmp==18.1.8=hc790b64_1'] 2025-01-12T14:12:00.7301430Z ERROR (adaptivecpp,Library/bin/hipSYCL/rt-backend-omp.dll): .. but ['conda-forge/win-64::llvm-openmp==18.1.8=hc790b64_1'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely) ``` --- recipes/AdaptiveCpp/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/AdaptiveCpp/meta.yaml b/recipes/AdaptiveCpp/meta.yaml index 125f75b8680bf..b55338eee6fc4 100644 --- a/recipes/AdaptiveCpp/meta.yaml +++ b/recipes/AdaptiveCpp/meta.yaml @@ -18,7 +18,7 @@ build: ignore_run_exports: - libboost - llvm - - llvm-openmp + - llvm-openmp # [not win] skip: true # [osx] requirements: