From 3ea69e283be402252687886425dc8e1d030e79ad Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Mon, 17 Aug 2026 06:48:28 -0500 Subject: [PATCH 1/4] Adapt for namedisl loopy --- arraycontext/loopy.py | 17 ++++++++--------- doc/conf.py | 3 +++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/arraycontext/loopy.py b/arraycontext/loopy.py index 7201e5fc..ed9315a2 100644 --- a/arraycontext/loopy.py +++ b/arraycontext/loopy.py @@ -73,7 +73,7 @@ from collections.abc import Mapping, Sequence from types import EllipsisType - import islpy as isl + import namedisl as nisl from loopy.kernel.data import ( ArrayArg, @@ -95,7 +95,7 @@ def make_loopy_program( - domains: str | Sequence[str | isl.BasicSet], + domains: str | Sequence[str | nisl.Set], statements: str | Sequence[InstructionBase | SubstitutionRule | str], kernel_data: Sequence[ ValueArg | ArrayArg | TemporaryVariable | EllipsisType | str @@ -142,14 +142,13 @@ def get(c_name: str, nargs: int, naxes: int) -> lp.TranslationUnit: size_names = [f"n{i}" for i in range(naxes)] subscript = tuple(Variable(vname) for vname in var_names) - from islpy import make_zero_and_vars + import namedisl as nisl - v = make_zero_and_vars(var_names, params=size_names) - domain = v[0].domain() + space = nisl.Space.from_names(out=var_names, param=size_names) + v = nisl.pw_affs_from_domain_space(space) + domain = v[0].aggregate_domain() for vname, sname in zip(var_names, size_names, strict=True): - domain = domain & v[0].le_set(v[vname]) & v[vname].lt_set(v[sname]) - - domain_bset, = domain.get_basic_sets() + domain = domain & v[0].where("<=", v[vname]) & v[vname].where("<", v[sname]) import loopy as lp @@ -159,7 +158,7 @@ def sub(name: str) -> Variable | Subscript: return Subscript(Variable(name), subscript) if subscript else Variable(name) return make_loopy_program( - [domain_bset], [ + [domain], [ lp.Assignment( sub("out"), Variable(c_name)(*[sub(f"inp{i}") for i in range(nargs)])) diff --git a/doc/conf.py b/doc/conf.py index 3d32dd9b..0c7a830f 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -18,6 +18,7 @@ "meshmode": ("https://documen.tician.de/meshmode", None), "numpy": ("https://numpy.org/doc/stable/", None), "pymbolic": ("https://documen.tician.de/pymbolic", None), + "namedisl": ("https://documen.tician.de/namedisl", None), "pyopencl": ("https://documen.tician.de/pyopencl", None), "pytato": ("https://documen.tician.de/pytato", None), "pytest": ("https://docs.pytest.org/en/latest/", None), @@ -51,6 +52,8 @@ sphinxconfig_missing_reference_aliases = { # pyopencl "cl.Device": "obj:pyopencl.Device", + # namedisl + "nisl.Set": "obj:namedisl.Set", } From 384b1a220c45e465ba71eedcbcad88a067140471 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Mon, 17 Aug 2026 06:48:33 -0500 Subject: [PATCH 2/4] Update baseline --- .basedpyright/baseline.json | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.basedpyright/baseline.json b/.basedpyright/baseline.json index f6c0e9ad..458a61f3 100644 --- a/.basedpyright/baseline.json +++ b/.basedpyright/baseline.json @@ -1913,22 +1913,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 42, - "endColumn": 46, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 48, - "endColumn": 52, - "lineCount": 1 - } - }, { "code": "reportUnknownArgumentType", "range": { From 09748faf94d94ce0f6bee8493463571b6212165d Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Mon, 17 Aug 2026 06:59:07 -0500 Subject: [PATCH 3/4] Update jax doc URL --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 0c7a830f..71cdd6d9 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -13,7 +13,7 @@ version = ".".join(release.split(".")[:2]) intersphinx_mapping = { - "jax": ("https://jax.readthedocs.io/en/latest/", None), + "jax": ("https://docs.jax.dev/en/latest/", None), "loopy": ("https://documen.tician.de/loopy", None), "meshmode": ("https://documen.tician.de/meshmode", None), "numpy": ("https://numpy.org/doc/stable/", None), From d5eb0f2b70f6a173cd469313ab6c856691eab8c4 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 18 Aug 2026 15:57:18 -0500 Subject: [PATCH 4/4] Drop mirgecom downstream CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f45680b2..c3ba8c4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,7 +115,7 @@ jobs: downstream_tests: strategy: matrix: - downstream_project: [meshmode, grudge, mirgecom, mirgecom_examples] + downstream_project: [meshmode, grudge] fail-fast: false name: Tests for downstream project ${{ matrix.downstream_project }}