From 87407027cee76d02bd0d3c496a28e94347ed39ee Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Wed, 11 Feb 2026 17:28:57 +0100 Subject: [PATCH 01/11] Use LLVM 21 compiler for python3.10 and simplify autoopt --- .github/workflows/general-ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 7535d082cc..71cb756fa4 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -29,6 +29,16 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + - name: Setup LLVM + if: matrix.python-version == '3.10' && matrix.simplify == 'autoopt' + uses: ZhongRuoyu/setup-llvm@v0 + with: + llvm-version: 21 + - name: Set C++ compiler to clang++ + if: matrix.python-version == '3.10' && matrix.simplify == 'autoopt' + run: | + echo "CXX=clang++" >> $GITHUB_ENV + echo "CC=clang" >> $GITHUB_ENV - name: Install dependencies run: | # Make dependency setup faster From 695f34a2a88053406ed8e2f211add4eab5d6e7cc Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 11:22:19 +0100 Subject: [PATCH 02/11] Use script provided by llvm to install clang 21 --- .github/workflows/general-ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 71cb756fa4..8f432d0901 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -30,13 +30,11 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Setup LLVM - if: matrix.python-version == '3.10' && matrix.simplify == 'autoopt' - uses: ZhongRuoyu/setup-llvm@v0 - with: - llvm-version: 21 - - name: Set C++ compiler to clang++ if: matrix.python-version == '3.10' && matrix.simplify == 'autoopt' run: | + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 21 echo "CXX=clang++" >> $GITHUB_ENV echo "CC=clang" >> $GITHUB_ENV - name: Install dependencies From 4950e938bee5390a791e33acacdf19f41a9c3ad5 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 11:32:22 +0100 Subject: [PATCH 03/11] Set the CC/CXX paths explicitely --- .github/workflows/general-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 8f432d0901..5c11c8e358 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -35,8 +35,8 @@ jobs: wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 - echo "CXX=clang++" >> $GITHUB_ENV - echo "CC=clang" >> $GITHUB_ENV + echo "CXX=$(which clang++)" >> $GITHUB_ENV + echo "CC=$(which clang)" >> $GITHUB_ENV - name: Install dependencies run: | # Make dependency setup faster From bf1ff3711deaa4c55288f7ac5adff7e29b39ec70 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 12:30:18 +0100 Subject: [PATCH 04/11] Install libomp and try to debug the CI issues --- .github/workflows/general-ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 5c11c8e358..fb7badd00a 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -18,8 +18,8 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.10','3.14'] - simplify: [0,1,autoopt] + python-version: ['3.10'] + simplify: [autoopt] steps: - uses: actions/checkout@v6 @@ -35,6 +35,7 @@ jobs: wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 + sudo apt-get install -y libomp-dev libomp5 echo "CXX=$(which clang++)" >> $GITHUB_ENV echo "CC=$(which clang)" >> $GITHUB_ENV - name: Install dependencies @@ -67,7 +68,7 @@ jobs: else export DACE_optimizer_automatic_simplification=${{ matrix.simplify }} fi - pytest -n auto --cov-report=xml --cov=dace --tb=short --timeout_method thread --timeout=300 -m "not gpu and not autodiff and not torch and not onnx and not tensorflow and not mkl and not sve and not papi and not mlir and not lapack and not mpi and not scalapack and not datainstrument and not long and not sequential" + pytest -x --cov-report=xml --cov=dace --tb=short --timeout_method thread --timeout=300 -m "not gpu and not autodiff and not torch and not onnx and not tensorflow and not mkl and not sve and not papi and not mlir and not lapack and not mpi and not scalapack and not datainstrument and not long and not sequential" ./codecov - name: Test OpenBLAS LAPACK From 1468d3f4f7624073b421131ef90b2857c00681d6 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 12:34:35 +0100 Subject: [PATCH 05/11] Added OpenMP_ROOT --- .github/workflows/general-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index fb7badd00a..15d3f2a041 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -35,9 +35,9 @@ jobs: wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 - sudo apt-get install -y libomp-dev libomp5 echo "CXX=$(which clang++)" >> $GITHUB_ENV echo "CC=$(which clang)" >> $GITHUB_ENV + echo "OpenMP_ROOT=$(dpkg -L libomp)" >> $GITHUB_ENV - name: Install dependencies run: | # Make dependency setup faster From fca89f26a4c4e55f0719d307cbf4f6fe3f6f750f Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 12:37:35 +0100 Subject: [PATCH 06/11] Install libomp-dev --- .github/workflows/general-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 15d3f2a041..c29efe8bfd 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -35,9 +35,10 @@ jobs: wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 + sudo apt-get install -y libomp-dev echo "CXX=$(which clang++)" >> $GITHUB_ENV echo "CC=$(which clang)" >> $GITHUB_ENV - echo "OpenMP_ROOT=$(dpkg -L libomp)" >> $GITHUB_ENV + echo "OpenMP_ROOT=$(dpkg -L libomp-dev)" >> $GITHUB_ENV - name: Install dependencies run: | # Make dependency setup faster From a1034b4477239f256ec8e7cc7a6372345bc07f67 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 12:39:13 +0100 Subject: [PATCH 07/11] Don't set OpenMP_ROOT --- .github/workflows/general-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index c29efe8bfd..70020fe0e0 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -38,7 +38,6 @@ jobs: sudo apt-get install -y libomp-dev echo "CXX=$(which clang++)" >> $GITHUB_ENV echo "CC=$(which clang)" >> $GITHUB_ENV - echo "OpenMP_ROOT=$(dpkg -L libomp-dev)" >> $GITHUB_ENV - name: Install dependencies run: | # Make dependency setup faster From cedd602861151c10d3791da2750272af7d85a975 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 12:45:09 +0100 Subject: [PATCH 08/11] Seems like CI is working. Launch tests in parallel --- .github/workflows/general-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 70020fe0e0..e5c9b71123 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -68,7 +68,7 @@ jobs: else export DACE_optimizer_automatic_simplification=${{ matrix.simplify }} fi - pytest -x --cov-report=xml --cov=dace --tb=short --timeout_method thread --timeout=300 -m "not gpu and not autodiff and not torch and not onnx and not tensorflow and not mkl and not sve and not papi and not mlir and not lapack and not mpi and not scalapack and not datainstrument and not long and not sequential" + pytest -n auto --cov-report=xml --cov=dace --tb=short --timeout_method thread --timeout=300 -m "not gpu and not autodiff and not torch and not onnx and not tensorflow and not mkl and not sve and not papi and not mlir and not lapack and not mpi and not scalapack and not datainstrument and not long and not sequential" ./codecov - name: Test OpenBLAS LAPACK From ae2cc0ced050b64806f1b52501590b26551ae011 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 16:47:13 +0100 Subject: [PATCH 09/11] Add clang configuration on top of the existing ones --- .github/workflows/general-ci.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index e5c9b71123..5f73b78a69 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -18,8 +18,13 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.10'] - simplify: [autoopt] + python-version: ['3.10','3.14'] + simplify: [0,1,autoopt] + compiler: [gcc] + include: + - compiler: clang + python-version: '3.14' + simplify: autoopt steps: - uses: actions/checkout@v6 @@ -30,7 +35,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Setup LLVM - if: matrix.python-version == '3.10' && matrix.simplify == 'autoopt' + if: matrix.compiler == 'clang' run: | wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh From c2476a58db52f7dd1f61e6eac5b02ebb41215e8c Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 12 Feb 2026 16:49:06 +0100 Subject: [PATCH 10/11] Reorder the included matrix configuration to show nicely in the output of gh --- .github/workflows/general-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/general-ci.yml b/.github/workflows/general-ci.yml index 5f73b78a69..7d90661508 100644 --- a/.github/workflows/general-ci.yml +++ b/.github/workflows/general-ci.yml @@ -22,9 +22,9 @@ jobs: simplify: [0,1,autoopt] compiler: [gcc] include: - - compiler: clang - python-version: '3.14' + - python-version: '3.14' simplify: autoopt + compiler: clang steps: - uses: actions/checkout@v6 From e11d89a4f2c3898a37702dfc0edad3d280b1e318 Mon Sep 17 00:00:00 2001 From: Ioannis Magkanaris Date: Thu, 19 Feb 2026 16:31:15 +0100 Subject: [PATCH 11/11] Disable fast-math to see if the clang ci gets fixed --- dace/config_schema.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dace/config_schema.yml b/dace/config_schema.yml index 2b05d45232..b384a07827 100644 --- a/dace/config_schema.yml +++ b/dace/config_schema.yml @@ -268,7 +268,7 @@ required: type: str title: Arguments description: Compiler argument flags - default: '-fPIC -Wall -Wextra -O3 -march=native -ffast-math -Wno-unused-parameter -Wno-unused-label' + default: '-fPIC -Wall -Wextra -O3 -march=native -Wno-unused-parameter -Wno-unused-label' default_Windows: '/O2 /fp:fast /arch:AVX2 /D_USRDLL /D_WINDLL /D__restrict__=__restrict' libs: