From 7ea8a73da5ad164a0f70f33b37781213a82a2ef1 Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Sun, 12 Oct 2025 14:26:53 +0100 Subject: [PATCH 01/12] Python 3.14 --- .github/workflows/make_and_test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/make_and_test.yml b/.github/workflows/make_and_test.yml index 3a97c2dd..bb6e64bb 100644 --- a/.github/workflows/make_and_test.yml +++ b/.github/workflows/make_and_test.yml @@ -35,7 +35,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v3 @@ -69,7 +69,7 @@ jobs: matrix: # for now windows pip install builds seem to fail for some reason os: [ubuntu-latest, macos-latest] - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v3 @@ -106,7 +106,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v3 From 66f75a4be41164924220727f06ecde16e4a39b96 Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Sun, 12 Oct 2025 14:27:37 +0100 Subject: [PATCH 02/12] Update pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 700dcc9e..52dff2af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ "cython", "numpy", ] -requires-python = ">=3.9" +requires-python = ">=3.11" [tool.setuptools] From 8b582440f9c747b395b9f18bfbed505a04657884 Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Sun, 12 Oct 2025 14:27:56 +0100 Subject: [PATCH 03/12] Update setup.py --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index d03dd7c9..5cfbd120 100644 --- a/setup.py +++ b/setup.py @@ -13,8 +13,8 @@ name="distopia", packages=['distopia'], cmake_args=['-DBUILD_PYTHON=ON'], - python_requires=">=3.9", + python_requires=">=3.11", install_requires=[ - "numpy>=1.20.0" + "numpy>=1.26.0" ], ) From 1c005a582875e3d6c94e16f2853ceece161d127a Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Sun, 12 Oct 2025 14:28:18 +0100 Subject: [PATCH 04/12] Update distopia_macos-latest.yaml --- devtools/conda_envs/distopia_macos-latest.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/conda_envs/distopia_macos-latest.yaml b/devtools/conda_envs/distopia_macos-latest.yaml index c9596d4a..9eda293d 100644 --- a/devtools/conda_envs/distopia_macos-latest.yaml +++ b/devtools/conda_envs/distopia_macos-latest.yaml @@ -5,7 +5,7 @@ dependencies: - cmake - make - pip -- python >=3.9 +- python >=3.11 - cython - numpy - ninja @@ -14,4 +14,4 @@ dependencies: - clang <=15.0 - clangxx <=15.0 - libxcrypt -- versioningit \ No newline at end of file +- versioningit From d8a8e30aec0e11003c5eda282ff0769a5ee0791a Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Sun, 12 Oct 2025 14:28:29 +0100 Subject: [PATCH 05/12] Update distopia_ubuntu-latest.yaml --- devtools/conda_envs/distopia_ubuntu-latest.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/conda_envs/distopia_ubuntu-latest.yaml b/devtools/conda_envs/distopia_ubuntu-latest.yaml index 69e28e03..7efc59f4 100644 --- a/devtools/conda_envs/distopia_ubuntu-latest.yaml +++ b/devtools/conda_envs/distopia_ubuntu-latest.yaml @@ -5,7 +5,7 @@ dependencies: - cmake - make - pip -- python >=3.9 +- python >=3.11 - cython - numpy - ninja @@ -13,4 +13,4 @@ dependencies: - scikit-build - compilers - libxcrypt -- versioningit \ No newline at end of file +- versioningit From 229b31ed7d75cff0ad7597e890e142999d98f0b9 Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Sun, 12 Oct 2025 14:28:40 +0100 Subject: [PATCH 06/12] Update distopia_windows-latest.yaml --- devtools/conda_envs/distopia_windows-latest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/conda_envs/distopia_windows-latest.yaml b/devtools/conda_envs/distopia_windows-latest.yaml index a24d3d22..d1de1190 100644 --- a/devtools/conda_envs/distopia_windows-latest.yaml +++ b/devtools/conda_envs/distopia_windows-latest.yaml @@ -5,7 +5,7 @@ dependencies: - cmake - make - pip -- python >=3.9 +- python >=3.11 - cython - numpy - ninja From 8cdec000527fba20e254cb5b97cb75b24f0bbf60 Mon Sep 17 00:00:00 2001 From: hmacdope Date: Mon, 13 Oct 2025 20:22:01 +1100 Subject: [PATCH 07/12] unpin clang and add windows back in --- .github/workflows/make_and_test.yml | 2 +- devtools/conda_envs/distopia_macos-latest.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/make_and_test.yml b/.github/workflows/make_and_test.yml index bb6e64bb..32c86c69 100644 --- a/.github/workflows/make_and_test.yml +++ b/.github/workflows/make_and_test.yml @@ -34,7 +34,7 @@ jobs: max-parallel: 12 fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-latest, windows-latest] python-version: ['3.11', '3.12', '3.13', '3.14'] steps: diff --git a/devtools/conda_envs/distopia_macos-latest.yaml b/devtools/conda_envs/distopia_macos-latest.yaml index 9eda293d..2f483dc6 100644 --- a/devtools/conda_envs/distopia_macos-latest.yaml +++ b/devtools/conda_envs/distopia_macos-latest.yaml @@ -11,7 +11,7 @@ dependencies: - ninja - pytest - scikit-build -- clang <=15.0 -- clangxx <=15.0 +- clang +- clangxx - libxcrypt - versioningit From 19ac02434b55e99ede0b7dcebffabae73f394ff1 Mon Sep 17 00:00:00 2001 From: hmacdope Date: Mon, 13 Oct 2025 20:47:14 +1100 Subject: [PATCH 08/12] try without SVE to force NEON --- libdistopia/include/distopia.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libdistopia/include/distopia.h b/libdistopia/include/distopia.h index 74fde737..03baaf50 100644 --- a/libdistopia/include/distopia.h +++ b/libdistopia/include/distopia.h @@ -11,6 +11,9 @@ // set EMU 128 to broken so that HWY_SCALAR is the baseline dispatch target #define HWY_BROKEN_EMU128 1 +#define HWY_BROKEN_SVE 1 // disable SVE as doesn't allow sizeless vectors in structs +#define HWY_BROKEN_SVE2 1 // disable SVE2 as doesn't allow sizeless vectors in structs +#define HWY_BROKEN_MSVC 1 // MSVC just refuses to compile all together // compile all attainable targets #define HWY_COMPILE_ALL_ATTAINABLE From aa5f4f0607f1f87ebf64ce18e157855df4b30442 Mon Sep 17 00:00:00 2001 From: hmacdope Date: Mon, 13 Oct 2025 20:56:38 +1100 Subject: [PATCH 09/12] change order --- libdistopia/include/distopia.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libdistopia/include/distopia.h b/libdistopia/include/distopia.h index 03baaf50..006ee53f 100644 --- a/libdistopia/include/distopia.h +++ b/libdistopia/include/distopia.h @@ -11,11 +11,12 @@ // set EMU 128 to broken so that HWY_SCALAR is the baseline dispatch target #define HWY_BROKEN_EMU128 1 + +// compile all attainable targets +#define HWY_COMPILE_ALL_ATTAINABLE #define HWY_BROKEN_SVE 1 // disable SVE as doesn't allow sizeless vectors in structs #define HWY_BROKEN_SVE2 1 // disable SVE2 as doesn't allow sizeless vectors in structs #define HWY_BROKEN_MSVC 1 // MSVC just refuses to compile all together -// compile all attainable targets -#define HWY_COMPILE_ALL_ATTAINABLE namespace distopia { From 11a301475c1307e6cb6995dd45975e5dfd8eb9bb Mon Sep 17 00:00:00 2001 From: hmacdope Date: Mon, 13 Oct 2025 21:04:04 +1100 Subject: [PATCH 10/12] bump to 1.3 --- libdistopia/highway | 2 +- libdistopia/include/distopia.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libdistopia/highway b/libdistopia/highway index 457c8917..ac0d5d29 160000 --- a/libdistopia/highway +++ b/libdistopia/highway @@ -1 +1 @@ -Subproject commit 457c891775a7397bdb0376bb1031e6e027af1c48 +Subproject commit ac0d5d297b13ab1b89f48484fc7911082d76a93f diff --git a/libdistopia/include/distopia.h b/libdistopia/include/distopia.h index 006ee53f..df443488 100644 --- a/libdistopia/include/distopia.h +++ b/libdistopia/include/distopia.h @@ -11,13 +11,13 @@ // set EMU 128 to broken so that HWY_SCALAR is the baseline dispatch target #define HWY_BROKEN_EMU128 1 - -// compile all attainable targets -#define HWY_COMPILE_ALL_ATTAINABLE #define HWY_BROKEN_SVE 1 // disable SVE as doesn't allow sizeless vectors in structs #define HWY_BROKEN_SVE2 1 // disable SVE2 as doesn't allow sizeless vectors in structs #define HWY_BROKEN_MSVC 1 // MSVC just refuses to compile all together +// compile all attainable targets +#define HWY_COMPILE_ALL_ATTAINABLE + namespace distopia { template void DistancesNoBox(const T *a, const T *b, int n, T *out); From 467f61432733f9d869e8da5a865fd9ee4aaed1a9 Mon Sep 17 00:00:00 2001 From: hmacdope Date: Mon, 13 Oct 2025 21:07:04 +1100 Subject: [PATCH 11/12] try disable --- libdistopia/include/distopia.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libdistopia/include/distopia.h b/libdistopia/include/distopia.h index df443488..ee0dcdee 100644 --- a/libdistopia/include/distopia.h +++ b/libdistopia/include/distopia.h @@ -11,9 +11,7 @@ // set EMU 128 to broken so that HWY_SCALAR is the baseline dispatch target #define HWY_BROKEN_EMU128 1 -#define HWY_BROKEN_SVE 1 // disable SVE as doesn't allow sizeless vectors in structs -#define HWY_BROKEN_SVE2 1 // disable SVE2 as doesn't allow sizeless vectors in structs -#define HWY_BROKEN_MSVC 1 // MSVC just refuses to compile all together +#define HWY_DISABLE_TARGETS (HWY_SVE | HWY_SVE2) // compile all attainable targets #define HWY_COMPILE_ALL_ATTAINABLE From 180530a43a810c54cf779e6827055f6695dbd9b6 Mon Sep 17 00:00:00 2001 From: hmacdope Date: Mon, 13 Oct 2025 21:17:49 +1100 Subject: [PATCH 12/12] remove win --- .github/workflows/make_and_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make_and_test.yml b/.github/workflows/make_and_test.yml index 32c86c69..bb6e64bb 100644 --- a/.github/workflows/make_and_test.yml +++ b/.github/workflows/make_and_test.yml @@ -34,7 +34,7 @@ jobs: max-parallel: 12 fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest] python-version: ['3.11', '3.12', '3.13', '3.14'] steps: