From f374b6ca4dd79289b93a2470bb3837102b9b8069 Mon Sep 17 00:00:00 2001 From: Awni Hannun Date: Mon, 7 Oct 2024 16:52:40 -0700 Subject: [PATCH] Bump nanobind to 2.2 (#1461) * bump nanobind * extension version for tests --- .circleci/config.yml | 8 ++++---- examples/extensions/pyproject.toml | 4 ++-- examples/extensions/requirements.txt | 4 ++-- pyproject.toml | 2 +- python/tests/test_array.py | 7 +++++++ setup.py | 2 +- 6 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6638f0e07..ac6a4b9a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -31,7 +31,7 @@ jobs: name: Install dependencies command: | pip install --upgrade cmake - pip install nanobind==2.1.0 + pip install nanobind==2.2.0 pip install numpy sudo apt-get update sudo apt-get install libblas-dev liblapack-dev liblapacke-dev @@ -83,7 +83,7 @@ jobs: source env/bin/activate pip install --upgrade pip pip install --upgrade cmake - pip install nanobind==2.1.0 + pip install nanobind==2.2.0 pip install numpy pip install torch pip install tensorflow @@ -172,7 +172,7 @@ jobs: source env/bin/activate pip install --upgrade pip pip install --upgrade cmake - pip install nanobind==2.1.0 + pip install nanobind==2.2.0 pip install --upgrade setuptools pip install numpy pip install twine @@ -237,7 +237,7 @@ jobs: source env/bin/activate pip install --upgrade pip pip install --upgrade cmake - pip install nanobind==2.1.0 + pip install nanobind==2.2.0 pip install --upgrade setuptools pip install numpy pip install auditwheel diff --git a/examples/extensions/pyproject.toml b/examples/extensions/pyproject.toml index f422a65de..04690004b 100644 --- a/examples/extensions/pyproject.toml +++ b/examples/extensions/pyproject.toml @@ -2,7 +2,7 @@ requires = [ "setuptools>=42", "cmake>=3.24", - "mlx>=0.17.0", - "nanobind==2.1.0", + "mlx>=0.18.0", + "nanobind==2.2.0", ] build-backend = "setuptools.build_meta" diff --git a/examples/extensions/requirements.txt b/examples/extensions/requirements.txt index b738b43fa..6b3eff627 100644 --- a/examples/extensions/requirements.txt +++ b/examples/extensions/requirements.txt @@ -1,4 +1,4 @@ setuptools>=42 cmake>=3.24 -mlx>=0.17.0 -nanobind==2.1.0 +mlx>=0.18.0 +nanobind==2.2.0 diff --git a/pyproject.toml b/pyproject.toml index 00ea87a0f..8f3c66379 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ "setuptools>=42", - "nanobind==2.1.0", + "nanobind==2.2.0", "cmake>=3.24", ] build-backend = "setuptools.build_meta" diff --git a/python/tests/test_array.py b/python/tests/test_array.py index cbbcd547c..d1ec3427d 100644 --- a/python/tests/test_array.py +++ b/python/tests/test_array.py @@ -688,6 +688,13 @@ class TestArray(mlx_tests.MLXTestCase): self.assertEqual(b_npy.dtype, np_dtype) + def test_array_from_noncontiguous_np(self): + for t in [np.int8, np.int32, np.float16, np.float32, np.complex64]: + np_arr = np.random.uniform(size=(10, 10)).astype(np.complex64) + np_arr = np_arr.T + mx_arr = mx.array(np_arr) + self.assertTrue(mx.array_equal(np_arr, mx_arr)) + def test_array_np_shape_dim_check(self): a_npy = np.empty(2**31, dtype=np.bool_) with self.assertRaises(ValueError) as e: diff --git a/setup.py b/setup.py index 66bb58465..4756bc870 100644 --- a/setup.py +++ b/setup.py @@ -176,7 +176,7 @@ if __name__ == "__main__": include_package_data=True, extras_require={ "dev": [ - "nanobind==2.1.0", + "nanobind==2.2.0", "numpy", "pre-commit", "setuptools>=42",