From 42c00f325ac3268c6846832b8201dbf395d507c4 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Mon, 18 Aug 2025 08:47:05 +0100 Subject: [PATCH 01/31] ready for mkl rebuild --- abs.yaml | 4 +++- recipe/meta.yaml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/abs.yaml b/abs.yaml index c317de0..67085e2 100644 --- a/abs.yaml +++ b/abs.yaml @@ -1,5 +1,7 @@ +# Required for glibc >= 2.26 for intel-openmp to work. +pkg_build_image_tag: main-rockylinux-8 build_env_vars: - ANACONDA_ROCKET_ENABLE_PY313 : yes + ANACONDA_ROCKET_GLIBC: "2.28" # macOS 12.3 or above is required for running the GPU variant (MPS support). No way to specify this for only the GPU # variant, so it's specified for both. diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4a34d38..cac80e9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -2,7 +2,7 @@ {% set sha256 = "3005690eb7b083c443a38c7657938af63902f524ad87a6c83f1aca38c77e3b57" %} # Set the RC number to build release candidates. Set to None otherwise {% set rc = None %} -{% set build = 6 %} +{% set build = 7 %} # Keep this in sync with the release {% set smoke_test_commit = "1eba9b3aa3c43f86f4a2c807ac8e12c4a7767340" %} From 59ec5489dc8505c1fc21323d1dce228a30d697b3 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 22 Aug 2025 10:45:55 +0100 Subject: [PATCH 02/31] ensure mkl version defined locally --- recipe/conda_build_config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index a35919a..7808553 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -6,6 +6,9 @@ c_compiler_version: # [osx] - 17 # [osx] cxx_compiler_version: # [osx] - 17 # [osx] + +mkl: + - 2025.* # CONDA_BUILD_SYSROOT is defined in the base cbc.yaml, but it's reflected here so we can zip the keys and # build GPU and CPU at the same time for osx-arm64. It'll need to be manually updated here if the base cbc is changed. # This could be done using extend_keys instead, with a change to the base cbc.yaml. From 485c666ac138dc4665eb08f9858142a5dc58a0e5 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Thu, 28 Aug 2025 12:04:27 +0100 Subject: [PATCH 03/31] stdlibc reintroduced --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cac80e9..55093b3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -87,7 +87,7 @@ requirements: - cross-python_{{ target_platform }} # [build_platform != target_platform] - numpy * # [megabuild and build_platform != target_platform] - numpy # [not megabuild and build_platform != target_platform] - #- {{ stdlib('c') }} + - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] @@ -261,7 +261,7 @@ outputs: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - numpy # [build_platform != target_platform] - #- {{ stdlib('c') }} + - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] From b8ecc9f5217f7acf1bf84e3c0fa5f8bab0e28714 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 2 Sep 2025 15:24:44 +0100 Subject: [PATCH 04/31] remove stdlibc in case it's causing false errors --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 55093b3..07cc0aa 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -87,7 +87,7 @@ requirements: - cross-python_{{ target_platform }} # [build_platform != target_platform] - numpy * # [megabuild and build_platform != target_platform] - numpy # [not megabuild and build_platform != target_platform] - - {{ stdlib('c') }} + # - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] @@ -261,7 +261,7 @@ outputs: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - numpy # [build_platform != target_platform] - - {{ stdlib('c') }} + # - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] From 05bc1886727eeb74cf05cd98a17792a56ba6fc98 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 3 Sep 2025 08:47:01 +0100 Subject: [PATCH 05/31] zip key fix --- recipe/conda_build_config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 7808553..86a3b27 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -15,10 +15,10 @@ mkl: # However there's currently a conda-forge bug that prevents this: https://github.com/conda/conda-build/issues/5048 MACOSX_SDK_VERSION: # [(osx and arm64)] - 11.1 # [(osx and arm64)] - #- 13.3 # [(osx and arm64)] + - 13.3 # [(osx and arm64)] CONDA_BUILD_SYSROOT: # [(osx and arm64)] - /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk # [(osx and arm64)] - #- /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk # [(osx and arm64)] + - /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk # [(osx and arm64)] zip_keys: # [(osx and arm64)] - gpu_variant # [(osx and arm64)] - MACOSX_SDK_VERSION # [(osx and arm64)] From 269a44751aaaf85a480cb23e2873a8128e752e3a Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 3 Sep 2025 10:07:15 +0100 Subject: [PATCH 06/31] add lib overlinking issues --- recipe/meta.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 07cc0aa..4db45a7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -219,6 +219,9 @@ test: outputs: - name: libtorch build: + overlinking_ignore_patterns: # [linux and aarch64] + - lib/libc10.so # [linux and aarch64] + - lib/libtorch_cpu.so # [linux and aarch64] missing_dso_whitelist: # The are dynamically loaded from %SP_DIR%\torch\lib\ - "**/asmjit.dll" # [win] From 2c2c524d549ed154cbd4fae01d7fa6dc283324f1 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 3 Sep 2025 13:45:45 +0100 Subject: [PATCH 07/31] libraries that reference the issue overlinks skipped rather than the other child patterns --- recipe/meta.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4db45a7..eabe475 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -220,8 +220,9 @@ outputs: - name: libtorch build: overlinking_ignore_patterns: # [linux and aarch64] - - lib/libc10.so # [linux and aarch64] - - lib/libtorch_cpu.so # [linux and aarch64] + - lib/libshm.so # [linux and aarch64] + - lib/libtorch.so # [linux and aarch64] + - bin/torch_shm_manager # [linux and aarch64] missing_dso_whitelist: # The are dynamically loaded from %SP_DIR%\torch\lib\ - "**/asmjit.dll" # [win] From 468f380122475544ab6d3396025e8161a5688f74 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 3 Sep 2025 16:53:02 +0100 Subject: [PATCH 08/31] more overlinking avoids --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index eabe475..3cbc2b5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -220,6 +220,8 @@ outputs: - name: libtorch build: overlinking_ignore_patterns: # [linux and aarch64] + - lib/libc10.so # [linux and aarch64] + - lib/libtorch_cpu.so # [linux and aarch64] - lib/libshm.so # [linux and aarch64] - lib/libtorch.so # [linux and aarch64] - bin/torch_shm_manager # [linux and aarch64] From 10fdc92773faf97a74ac5e16858f38d60f89d254 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 3 Sep 2025 17:38:50 +0100 Subject: [PATCH 09/31] remove cuda for time being --- recipe/conda_build_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 86a3b27..afab9ba 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,7 +1,7 @@ gpu_variant: - cpu - metal # [(osx and arm64)] - - cuda-12 # [(linux and x86_64)] + # - cuda-12 # [(linux and x86_64)] c_compiler_version: # [osx] - 17 # [osx] cxx_compiler_version: # [osx] From 237986a0e5894423b3b26a4e9ab24287d17605bf Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Mon, 15 Sep 2025 09:49:07 +0100 Subject: [PATCH 10/31] ci: trigger build From 7c9b31ca37f9ea689d43d6b8512d104a9fcc870d Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 23 Sep 2025 10:17:13 +0100 Subject: [PATCH 11/31] remove megabuild --- recipe/conda_build_config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index afab9ba..dc39379 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -30,8 +30,8 @@ zip_keys: # [(osx and arm64)] # Conda-forge didn't do a "megabuild" on osx because it pushed their CI runners over their 6-hour limit. We don't have # such a limit. megabuild: -- true -#- false # [osx] +#- true +- false # The version of python to use when building libtorch in a "megabuild" megabuild_python: From 6f34be3c1da6d1433ab69232e59af2c1b12e221b Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 24 Sep 2025 08:40:52 +0100 Subject: [PATCH 12/31] ensure most uptodate openblas-devel to test glibc 2.28 compatibility --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3cbc2b5..0780b15 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -159,7 +159,7 @@ requirements: - future # [py<313] - six - mkl-devel {{ mkl }} # [blas_impl == "mkl"] - - openblas-devel {{ openblas }} # [blas_impl == "openblas"] + - openblas-devel # [blas_impl == "openblas"] # - libcblas * *_mkl # [blas_impl == "mkl"] # - libcblas # [blas_impl != "mkl"] # - liblapack # [blas_impl != "mkl"] @@ -334,7 +334,7 @@ outputs: - future # [py<313] - six - mkl-devel {{ mkl }} # [blas_impl == "mkl"] - - openblas-devel {{ openblas }} # [blas_impl == "openblas"] + - openblas-devel # [blas_impl == "openblas"] # - libcblas * *_mkl # [blas_impl == "mkl"] # - libcblas # [blas_impl != "mkl"] # - liblapack # [blas_impl != "mkl"] From 734c8bf675273be038ec0e1f63e9c664bdfc9e88 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 24 Sep 2025 16:35:09 +0100 Subject: [PATCH 13/31] ensure stdlib{c} --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0780b15..38e3335 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -87,7 +87,7 @@ requirements: - cross-python_{{ target_platform }} # [build_platform != target_platform] - numpy * # [megabuild and build_platform != target_platform] - numpy # [not megabuild and build_platform != target_platform] - # - {{ stdlib('c') }} + - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] @@ -159,7 +159,7 @@ requirements: - future # [py<313] - six - mkl-devel {{ mkl }} # [blas_impl == "mkl"] - - openblas-devel # [blas_impl == "openblas"] + - openblas-devel {{ openblas }} # [blas_impl == "openblas"] # - libcblas * *_mkl # [blas_impl == "mkl"] # - libcblas # [blas_impl != "mkl"] # - liblapack # [blas_impl != "mkl"] @@ -334,7 +334,7 @@ outputs: - future # [py<313] - six - mkl-devel {{ mkl }} # [blas_impl == "mkl"] - - openblas-devel # [blas_impl == "openblas"] + - openblas-devel {{ openblas }} # [blas_impl == "openblas"] # - libcblas * *_mkl # [blas_impl == "mkl"] # - libcblas # [blas_impl != "mkl"] # - liblapack # [blas_impl != "mkl"] From d4ff94efaa6deceac88b2e420fd7ef005995e001 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Thu, 25 Sep 2025 09:28:13 +0100 Subject: [PATCH 14/31] stdlib for libtorch --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 38e3335..c97fb86 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -267,7 +267,7 @@ outputs: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - numpy # [build_platform != target_platform] - # - {{ stdlib('c') }} + - {{ stdlib('c') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] From 952939d15517fc90fad84b1acfca64c230554bd7 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 26 Sep 2025 14:47:32 +0100 Subject: [PATCH 15/31] add mkl windows patch to rectify mathematical error on windows --- recipe/meta.yaml | 1 + recipe/patches/0016-fix-issue-142484.patch | 35 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 recipe/patches/0016-fix-issue-142484.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c97fb86..0885946 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -54,6 +54,7 @@ source: - patches/0013-simplify-torch.utils.cpp_extension.include_paths-use.patch - patches/0014-point-include-paths-to-PREFIX-include.patch - patches/0015-point-lib-paths-to-PREFIX-lib.patch + - patches/0016-fix-issue-142484.patch # [blas_impl == "mkl" and win] {% endif %} - url: https://raw.githubusercontent.com/pytorch/pytorch/{{ smoke_test_commit }}/.ci/pytorch/smoke_test/smoke_test.py folder: smoke_test diff --git a/recipe/patches/0016-fix-issue-142484.patch b/recipe/patches/0016-fix-issue-142484.patch new file mode 100644 index 0000000..2764cb1 --- /dev/null +++ b/recipe/patches/0016-fix-issue-142484.patch @@ -0,0 +1,35 @@ +From 714ead5bf5c7e7ac0f91934232af2e1966b562fb Mon Sep 17 00:00:00 2001 +From: "Zheng, Zhaoqiong" +Date: Fri, 27 Dec 2024 13:49:36 +0800 +Subject: [PATCH] fix issue 142484 + +From https://github.com/pytorch/pytorch/pull/143894 +--- + aten/src/ATen/native/mkl/SpectralOps.cpp | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/aten/src/ATen/native/mkl/SpectralOps.cpp b/aten/src/ATen/native/mkl/SpectralOps.cpp +index e26cfbf6d..c61b76d32 100644 +--- a/aten/src/ATen/native/mkl/SpectralOps.cpp ++++ b/aten/src/ATen/native/mkl/SpectralOps.cpp +@@ -477,7 +477,17 @@ static Tensor& _exec_fft(Tensor& out, const Tensor& self, IntArrayRef out_sizes, + + const auto value_type = c10::toRealValueType(input.scalar_type()); + out.resize_(batched_out_sizes, MemoryFormat::Contiguous); +- ++ auto astrides = input.strides(); ++ bool all_zero = true; ++ for (const auto& stride : astrides) { ++ if (stride != 0) { ++ all_zero = false; ++ break; ++ } ++ } ++ if (all_zero) { ++ input = input.clone(MemoryFormat::Contiguous); ++ } + auto descriptor = _plan_mkl_fft( + input.strides(), out.strides(), signal_size, input.is_complex(), + out.is_complex(), normalization, forward, value_type); +-- +2.47.1 no \ No newline at end of file From 76090e154e283a98fbc936ff4974183cf459234a Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 07:37:15 +0100 Subject: [PATCH 16/31] ensure changes from 2.7 ported over --- abs.yaml | 5 --- recipe/bld.bat | 2 +- recipe/meta.yaml | 13 ++++++- .../patches/0017-mkl-version-mismatch.patch | 35 +++++++++++++++++++ 4 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 recipe/patches/0017-mkl-version-mismatch.patch diff --git a/abs.yaml b/abs.yaml index 67085e2..0756ca3 100644 --- a/abs.yaml +++ b/abs.yaml @@ -1,8 +1,3 @@ -# Required for glibc >= 2.26 for intel-openmp to work. -pkg_build_image_tag: main-rockylinux-8 -build_env_vars: - ANACONDA_ROCKET_GLIBC: "2.28" - # macOS 12.3 or above is required for running the GPU variant (MPS support). No way to specify this for only the GPU # variant, so it's specified for both. extra_labels_for_os: diff --git a/recipe/bld.bat b/recipe/bld.bat index a076bd7..11db139 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -51,7 +51,7 @@ set DISTUTILS_USE_SDK=1 set BUILD_TEST=0 set INSTALL_TEST=0 :: Don't increase MAX_JOBS to NUMBER_OF_PROCESSORS, as it will run out of heap -set CPU_COUNT=1 +set CPU_COUNT=4 set MAX_JOBS=%CPU_COUNT% :: Use our Pybind11, Eigen set USE_SYSTEM_PYBIND11=1 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0885946..fefc9ce 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -295,6 +295,7 @@ outputs: # This has a strong run_export so we don't need to put it in `host` or `run` # We use llvm-openmp for openblas variants on osx. - llvm-openmp 17 # [osx and not (blas_impl == "mkl")] + - libcxx 17 # [osx] - cmake - ninja-base # Keep libprotobuf here so that a compatibile version @@ -345,6 +346,7 @@ outputs: # For openblas on win and linux, we don't specify any openmp implementation; it comes from the compiler. - intel-openmp {{ mkl }} # [blas_impl == "mkl"] - llvm-openmp 17 # [osx and not (blas_impl == "mkl")] + - libcxx 17 # [osx] - libabseil - libprotobuf {{ libprotobuf }} - sleef 3.5.1 @@ -360,6 +362,7 @@ outputs: run: - {{ pin_compatible('intel-openmp') }} # [blas_impl == "mkl"] - llvm-openmp # [osx and not (blas_impl == "mkl")] + - libcxx 17 # [osx] # GPU requirements without run_exports - {{ pin_compatible('cudnn') }} # [(gpu_variant or "").startswith("cuda")] # Required for GPU profiler @@ -417,6 +420,7 @@ outputs: - pybind11 # the inductor "test_aoti_eager..." tests require objcopy - binutils # [linux] + - libcxx 17 # [osx] imports: - torch source_files: @@ -459,7 +463,14 @@ outputs: # Note that the `|| true` expression will make the build continue even if the whole script falls over completely # (for example, in the case of missing imports). There doesn't seem to be a way of making a script exception return # non-zero but failing tests return zero. - - python ./test/run_test.py --core --continue-through-error || true + # ------------------------------------------------------------------------------------------------ + # Exclude complex tests that are known to be flaky for -k "not (complex and (linalg_vecdot or dot or vdot))" + # https://github.com/pytorch/pytorch/issues/150918 + - python ./test/run_test.py --core --continue-through-error -k "not (complex and (linalg_vecdot or dot or vdot))" || true # [not win] + # lgamma or mvlgamma or multigammaln or gammaln all have these issues on a combination of Intel Xeon processors and Windows Server differences. + # enabling these tests on windows will cause numerical differences in the test suite. + # This is a non-deterministic issue where between 80-110 tests fail. This has been observed between Pytorch 2.5 and above. + - python ./test/run_test.py --core --continue-through-error -k "not ((complex and (linalg_vecdot or dot or vdot)) or lgamma or mvlgamma or multigammaln or gammaln)" || exit 0 # [win] # The inductor tests test the torch.compile backend. Using the options below avoids running distributed tests, # which would be run if we used the --inductor option. (Distributed tests would only be correctly run on a multi-gpu test platform, # which we don't have.) diff --git a/recipe/patches/0017-mkl-version-mismatch.patch b/recipe/patches/0017-mkl-version-mismatch.patch new file mode 100644 index 0000000..a50de9c --- /dev/null +++ b/recipe/patches/0017-mkl-version-mismatch.patch @@ -0,0 +1,35 @@ +From 714ead5bf5c7e7ac0f91934232af2e1966b562fb Mon Sep 17 00:00:00 2001 +From: "Zheng, Zhaoqiong" +Date: Fri, 27 Dec 2024 13:49:36 +0800 +Subject: [PATCH] fix issue 142484 + +From https://github.com/pytorch/pytorch/pull/143894 +--- + aten/src/ATen/native/mkl/SpectralOps.cpp | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/aten/src/ATen/native/mkl/SpectralOps.cpp b/aten/src/ATen/native/mkl/SpectralOps.cpp +index e26cfbf6d..c61b76d32 100644 +--- a/aten/src/ATen/native/mkl/SpectralOps.cpp ++++ b/aten/src/ATen/native/mkl/SpectralOps.cpp +@@ -477,7 +477,17 @@ static Tensor& _exec_fft(Tensor& out, const Tensor& self, IntArrayRef out_sizes, + + const auto value_type = c10::toRealValueType(input.scalar_type()); + out.resize_(batched_out_sizes, MemoryFormat::Contiguous); +- ++ auto astrides = input.strides(); ++ bool all_zero = true; ++ for (const auto& stride : astrides) { ++ if (stride != 0) { ++ all_zero = false; ++ break; ++ } ++ } ++ if (all_zero) { ++ input = input.clone(MemoryFormat::Contiguous); ++ } + auto descriptor = _plan_mkl_fft( + input.strides(), out.strides(), signal_size, input.is_complex(), + out.is_complex(), normalization, forward, value_type); +-- +2.47.1 \ No newline at end of file From a45210ac645b28d71517c0d4306b5f4f0c5bb74a Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 07:57:11 +0100 Subject: [PATCH 17/31] submodule patch --- recipe/meta.yaml | 1 + recipe/patches_submodules/0002-psimd-cmake.patch | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 recipe/patches_submodules/0002-psimd-cmake.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fefc9ce..fb111c0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -51,6 +51,7 @@ source: - patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch - patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch # [win] - patches_submodules/0001-remove-DESTINATION-lib-from-CMake-install-directives.patch # [win] + - patches_submodules/0002-psimd-cmake.patch - patches/0013-simplify-torch.utils.cpp_extension.include_paths-use.patch - patches/0014-point-include-paths-to-PREFIX-include.patch - patches/0015-point-lib-paths-to-PREFIX-lib.patch diff --git a/recipe/patches_submodules/0002-psimd-cmake.patch b/recipe/patches_submodules/0002-psimd-cmake.patch new file mode 100644 index 0000000..748a86f --- /dev/null +++ b/recipe/patches_submodules/0002-psimd-cmake.patch @@ -0,0 +1,9 @@ + +--- a/third_party/psimd/CMakeLists.txt ++++ b/third_party/psimd/CMakeLists.txt +@@ -1,4 +1,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) + INCLUDE(GNUInstallDirs) + + # ---[ Project \ No newline at end of file From c2ad5e78be5090db907110c3fd57b1f0912d3490 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 08:23:55 +0100 Subject: [PATCH 18/31] psimd patch regen --- recipe/patches_submodules/0002-psimd-cmake.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/patches_submodules/0002-psimd-cmake.patch b/recipe/patches_submodules/0002-psimd-cmake.patch index 748a86f..0e393e7 100644 --- a/recipe/patches_submodules/0002-psimd-cmake.patch +++ b/recipe/patches_submodules/0002-psimd-cmake.patch @@ -1,9 +1,9 @@ ---- a/third_party/psimd/CMakeLists.txt -+++ b/third_party/psimd/CMakeLists.txt +--- a/third_party/psimd/CMakeLists.txt 2025-10-24 08:18:04.068156864 +0100 ++++ b/third_party/psimd/CMakeLists.txt 2025-10-24 08:19:33.418566193 +0100 @@ -1,4 +1,4 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) +CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) + INCLUDE(GNUInstallDirs) - # ---[ Project \ No newline at end of file From 65c407390d4405e88759310f1c78ed88100982f0 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 08:38:09 +0100 Subject: [PATCH 19/31] remove a/ b/ --- recipe/patches_submodules/0002-psimd-cmake.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/patches_submodules/0002-psimd-cmake.patch b/recipe/patches_submodules/0002-psimd-cmake.patch index 0e393e7..cabceb9 100644 --- a/recipe/patches_submodules/0002-psimd-cmake.patch +++ b/recipe/patches_submodules/0002-psimd-cmake.patch @@ -1,6 +1,6 @@ ---- a/third_party/psimd/CMakeLists.txt 2025-10-24 08:18:04.068156864 +0100 -+++ b/third_party/psimd/CMakeLists.txt 2025-10-24 08:19:33.418566193 +0100 +--- third_party/psimd/CMakeLists.txt ++++ third_party/psimd/CMakeLists.txt @@ -1,4 +1,4 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) +CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) From 06fa9489a9819b168bcae65f383155d24ac9a305 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 09:10:01 +0100 Subject: [PATCH 20/31] patch cmake min version --- recipe/meta.yaml | 1 + recipe/patches_submodules/0003-fp16-cmake.patch | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 recipe/patches_submodules/0003-fp16-cmake.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fb111c0..d9827de 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -52,6 +52,7 @@ source: - patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch # [win] - patches_submodules/0001-remove-DESTINATION-lib-from-CMake-install-directives.patch # [win] - patches_submodules/0002-psimd-cmake.patch + - patches_submodules/0003-fp16-cmake.patch - patches/0013-simplify-torch.utils.cpp_extension.include_paths-use.patch - patches/0014-point-include-paths-to-PREFIX-include.patch - patches/0015-point-lib-paths-to-PREFIX-lib.patch diff --git a/recipe/patches_submodules/0003-fp16-cmake.patch b/recipe/patches_submodules/0003-fp16-cmake.patch new file mode 100644 index 0000000..4fe46b9 --- /dev/null +++ b/recipe/patches_submodules/0003-fp16-cmake.patch @@ -0,0 +1,7 @@ +--- third_party/FP16/CMakeLists.txt ++++ third_party/FP16/CMakeLists.txt +@@ -1,4 +1,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) + + INCLUDE(GNUInstallDirs) \ No newline at end of file From 5f80b5da8dee98d0a1a9464a1c2f9d93a1115d93 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 09:26:17 +0100 Subject: [PATCH 21/31] ensure old version requirements are explicitly passing with cmake args --- recipe/build.sh | 3 +++ recipe/meta.yaml | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index c6e8bc6..4768c1d 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -96,6 +96,9 @@ export Python3_EXECUTABLE="${PYTHON}" # export CCACHE_BASEDIR=${PREFIX}/../ # export CCACHE_NOHASHDIR=true +# Tell CMake to treat all old version requirements as 3.5+ +export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_POLICY_VERSION_MINIMUM=3.5" + for ARG in $CMAKE_ARGS; do if [[ "$ARG" == "-DCMAKE_"* ]]; then cmake_arg=$(echo $ARG | cut -d= -f1) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d9827de..a59d69b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -51,8 +51,8 @@ source: - patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch - patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch # [win] - patches_submodules/0001-remove-DESTINATION-lib-from-CMake-install-directives.patch # [win] - - patches_submodules/0002-psimd-cmake.patch - - patches_submodules/0003-fp16-cmake.patch + # - patches_submodules/0002-psimd-cmake.patch + # - patches_submodules/0003-fp16-cmake.patch - patches/0013-simplify-torch.utils.cpp_extension.include_paths-use.patch - patches/0014-point-include-paths-to-PREFIX-include.patch - patches/0015-point-lib-paths-to-PREFIX-lib.patch @@ -214,7 +214,7 @@ test: {% for each_lib in ['libc10_cuda', 'libcaffe2_nvrtc', 'libtorch_cuda', 'libtorch_cuda_linalg'] %} - test -f $PREFIX/lib/{{ each_lib }}.so # [linux and (gpu_variant or "").startswith("cuda")] {% endfor %} - # test integrity of CMake metadata + # test integrity of CMake metadata - cd cmake_test - cmake -GNinja -DCMAKE_CXX_STANDARD=17 $CMAKE_ARGS . # [unix] - cmake -GNinja -DCMAKE_CXX_STANDARD=17 %CMAKE_ARGS% . # [win] From ba34b1d4a83730134e0ad234378fae82e0cc1d80 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 10:08:52 +0100 Subject: [PATCH 22/31] cmake for windows min version fix --- recipe/bld.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/bld.bat b/recipe/bld.bat index 11db139..0e3d1cf 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -58,6 +58,8 @@ set USE_SYSTEM_PYBIND11=1 set USE_SYSTEM_EIGEN_INSTALL=1 set CMAKE_INCLUDE_PATH=%LIBRARY_PREFIX%\include +set "CMAKE_ARGS=%CMAKE_ARGS% -DCMAKE_POLICY_VERSION_MINIMUM=3.5" + set LIB=%LIBRARY_PREFIX%\lib;%LIB% :: =============================== CUDA> ====================================== From 4011f9e2d7f56655599060fba1377c5397d6b0f0 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 10:16:23 +0100 Subject: [PATCH 23/31] ensure cxxflags --- recipe/build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/build.sh b/recipe/build.sh index 4768c1d..9d0b19e 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -193,6 +193,9 @@ if [[ "$OSTYPE" == "darwin"* ]]; then # we can override the default and set USE_DISTRIBUTED=1. export USE_DISTRIBUTED=1 + # c++ includes are not found in the build prefix by default on osx + export CXXFLAGS="$CXXFLAGS -I${BUILD_PREFIX}/include/c++/v1" + if [[ "$target_platform" == "osx-arm64" ]]; then # MKLDNN did not support on Apple M1 at the time support Apple M1 # was added. Revisit later From 153aa0bef4dcb291a9bfd876e10cc4210bc51902 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 10:37:14 +0100 Subject: [PATCH 24/31] ensure no ittapi --- recipe/bld.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/bld.bat b/recipe/bld.bat index 0e3d1cf..30898bc 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -28,6 +28,8 @@ if "%pytorch_variant%" == "gpu" ( :: cudatoolkit different than the one specified at compile time. :: https://github.com/conda-forge/pytorch-cpu-feedstock/issues/135 set "USE_KINETO=OFF" +:: ITT fails on submodules due to a stricter cmake policy version requirement +set "USE_ITT=0" :: =============================== CUDA FLAGS> ====================================== if "%build_with_cuda%" == "" goto cuda_flags_end From 8e2f8e0d95f929380618ff1a3247a9dc2f61bb55 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Fri, 24 Oct 2025 10:44:42 +0100 Subject: [PATCH 25/31] remove xnnpack for mac --- recipe/build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/build.sh b/recipe/build.sh index 9d0b19e..faad1f7 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -186,6 +186,8 @@ fi # MacOS build is simple, and will not be for CUDA if [[ "$OSTYPE" == "darwin"* ]]; then + # XNNPACK causing issues at build time on osx with libcxx 17 + export USE_XNNPACK=0 # Produce macOS builds with torch.distributed support. # This is enabled by default on Linux, but disabled by default on macOS, # because it requires an non-bundled compile-time dependency (libuv From 99fed25cba10621622bf1ea2d2757ba4338dae50 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 28 Oct 2025 12:33:48 +0000 Subject: [PATCH 26/31] libcxx 17 for additional osx requirement --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a59d69b..25faf10 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -117,6 +117,7 @@ requirements: # This has a strong run_export so we don't need to put it in `host` or `run` # We use llvm-openmp for openblas variants on osx. - llvm-openmp 17 # [osx and not (blas_impl == "mkl")] + - libcxx 17 # [osx] - libuv # [win] - cmake - ninja-base From b7228ef3576346168913d87c1bae0ef32117deda Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 28 Oct 2025 13:20:52 +0000 Subject: [PATCH 27/31] reduce cores --- recipe/bld.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 30898bc..f9b1f24 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -53,7 +53,7 @@ set DISTUTILS_USE_SDK=1 set BUILD_TEST=0 set INSTALL_TEST=0 :: Don't increase MAX_JOBS to NUMBER_OF_PROCESSORS, as it will run out of heap -set CPU_COUNT=4 +set CPU_COUNT=2 set MAX_JOBS=%CPU_COUNT% :: Use our Pybind11, Eigen set USE_SYSTEM_PYBIND11=1 From d90d4feea67a2ee49816532f79a2f1450ef3ec99 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 28 Oct 2025 13:23:35 +0000 Subject: [PATCH 28/31] bld xnnpack removed on win --- recipe/bld.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/bld.bat b/recipe/bld.bat index f9b1f24..1181804 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -30,6 +30,7 @@ if "%pytorch_variant%" == "gpu" ( set "USE_KINETO=OFF" :: ITT fails on submodules due to a stricter cmake policy version requirement set "USE_ITT=0" +set "USE_XNNPACK=0" :: =============================== CUDA FLAGS> ====================================== if "%build_with_cuda%" == "" goto cuda_flags_end From e12cbe9b7e1ad9a77b5c75084f3f464604e2691e Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 28 Oct 2025 13:43:05 +0000 Subject: [PATCH 29/31] force old cmake --- recipe/bld.bat | 1 - recipe/meta.yaml | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 1181804..f9b1f24 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -30,7 +30,6 @@ if "%pytorch_variant%" == "gpu" ( set "USE_KINETO=OFF" :: ITT fails on submodules due to a stricter cmake policy version requirement set "USE_ITT=0" -set "USE_XNNPACK=0" :: =============================== CUDA FLAGS> ====================================== if "%build_with_cuda%" == "" goto cuda_flags_end diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 25faf10..9f0af1c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -119,7 +119,8 @@ requirements: - llvm-openmp 17 # [osx and not (blas_impl == "mkl")] - libcxx 17 # [osx] - libuv # [win] - - cmake + - cmake # [not win] + - cmake <3.27 # [win] - ninja-base - libabseil # Keep libprotobuf here so that a compatibile version @@ -201,7 +202,8 @@ test: # for CMake config to find cuda & nvrtc - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] - cuda-nvrtc-dev # [(gpu_variant or "").startswith("cuda")] - - cmake + - cmake # [not win] + - cmake <3.27 # [win] - ninja - pkg-config files: @@ -299,7 +301,8 @@ outputs: # We use llvm-openmp for openblas variants on osx. - llvm-openmp 17 # [osx and not (blas_impl == "mkl")] - libcxx 17 # [osx] - - cmake + - cmake # [not win] + - cmake <3.27 # [win] - ninja-base # Keep libprotobuf here so that a compatibile version # of protobuf is installed between build and host From bce6b64c9d064738d06f590b5835eb9362932efe Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Tue, 28 Oct 2025 17:36:49 +0000 Subject: [PATCH 30/31] cmake pin to previous 2.6 build --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9f0af1c..556615f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -120,7 +120,7 @@ requirements: - libcxx 17 # [osx] - libuv # [win] - cmake # [not win] - - cmake <3.27 # [win] + - cmake 3.31.2 # [win] - ninja-base - libabseil # Keep libprotobuf here so that a compatibile version @@ -203,7 +203,7 @@ test: - {{ compiler('cuda') }} # [(gpu_variant or "").startswith("cuda")] - cuda-nvrtc-dev # [(gpu_variant or "").startswith("cuda")] - cmake # [not win] - - cmake <3.27 # [win] + - cmake 3.31.2 # [win] - ninja - pkg-config files: @@ -302,7 +302,7 @@ outputs: - llvm-openmp 17 # [osx and not (blas_impl == "mkl")] - libcxx 17 # [osx] - cmake # [not win] - - cmake <3.27 # [win] + - cmake 3.31.2 # [win] - ninja-base # Keep libprotobuf here so that a compatibile version # of protobuf is installed between build and host From 49aacb39e2bb29bac4223535c8b160630b2f2792 Mon Sep 17 00:00:00 2001 From: Jamie Robertson Date: Wed, 29 Oct 2025 09:13:52 +0000 Subject: [PATCH 31/31] remove duplicate patch and submodule patches --- recipe/conda_build_config.yaml | 2 -- .../patches/0017-mkl-version-mismatch.patch | 35 ------------------- .../patches_submodules/0002-psimd-cmake.patch | 9 ----- .../patches_submodules/0003-fp16-cmake.patch | 7 ---- 4 files changed, 53 deletions(-) delete mode 100644 recipe/patches/0017-mkl-version-mismatch.patch delete mode 100644 recipe/patches_submodules/0002-psimd-cmake.patch delete mode 100644 recipe/patches_submodules/0003-fp16-cmake.patch diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index dc39379..423d091 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -7,8 +7,6 @@ c_compiler_version: # [osx] cxx_compiler_version: # [osx] - 17 # [osx] -mkl: - - 2025.* # CONDA_BUILD_SYSROOT is defined in the base cbc.yaml, but it's reflected here so we can zip the keys and # build GPU and CPU at the same time for osx-arm64. It'll need to be manually updated here if the base cbc is changed. # This could be done using extend_keys instead, with a change to the base cbc.yaml. diff --git a/recipe/patches/0017-mkl-version-mismatch.patch b/recipe/patches/0017-mkl-version-mismatch.patch deleted file mode 100644 index a50de9c..0000000 --- a/recipe/patches/0017-mkl-version-mismatch.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 714ead5bf5c7e7ac0f91934232af2e1966b562fb Mon Sep 17 00:00:00 2001 -From: "Zheng, Zhaoqiong" -Date: Fri, 27 Dec 2024 13:49:36 +0800 -Subject: [PATCH] fix issue 142484 - -From https://github.com/pytorch/pytorch/pull/143894 ---- - aten/src/ATen/native/mkl/SpectralOps.cpp | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/aten/src/ATen/native/mkl/SpectralOps.cpp b/aten/src/ATen/native/mkl/SpectralOps.cpp -index e26cfbf6d..c61b76d32 100644 ---- a/aten/src/ATen/native/mkl/SpectralOps.cpp -+++ b/aten/src/ATen/native/mkl/SpectralOps.cpp -@@ -477,7 +477,17 @@ static Tensor& _exec_fft(Tensor& out, const Tensor& self, IntArrayRef out_sizes, - - const auto value_type = c10::toRealValueType(input.scalar_type()); - out.resize_(batched_out_sizes, MemoryFormat::Contiguous); -- -+ auto astrides = input.strides(); -+ bool all_zero = true; -+ for (const auto& stride : astrides) { -+ if (stride != 0) { -+ all_zero = false; -+ break; -+ } -+ } -+ if (all_zero) { -+ input = input.clone(MemoryFormat::Contiguous); -+ } - auto descriptor = _plan_mkl_fft( - input.strides(), out.strides(), signal_size, input.is_complex(), - out.is_complex(), normalization, forward, value_type); --- -2.47.1 \ No newline at end of file diff --git a/recipe/patches_submodules/0002-psimd-cmake.patch b/recipe/patches_submodules/0002-psimd-cmake.patch deleted file mode 100644 index cabceb9..0000000 --- a/recipe/patches_submodules/0002-psimd-cmake.patch +++ /dev/null @@ -1,9 +0,0 @@ - ---- third_party/psimd/CMakeLists.txt -+++ third_party/psimd/CMakeLists.txt -@@ -1,4 +1,4 @@ --CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) -+CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) - - INCLUDE(GNUInstallDirs) - diff --git a/recipe/patches_submodules/0003-fp16-cmake.patch b/recipe/patches_submodules/0003-fp16-cmake.patch deleted file mode 100644 index 4fe46b9..0000000 --- a/recipe/patches_submodules/0003-fp16-cmake.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- third_party/FP16/CMakeLists.txt -+++ third_party/FP16/CMakeLists.txt -@@ -1,4 +1,4 @@ --CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) -+CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) - - INCLUDE(GNUInstallDirs) \ No newline at end of file