Skip to content

Commit 7ed4574

Browse files
author
Denis Jelovina
committed
Enable OMP and nonblocking backends conditionally for Linux runners in CMake build
1 parent 040ee57 commit 7ed4574

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

.github/workflows/pyalp-publish.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,19 @@ jobs:
168168
# interprocedural optimization (LTO) to improve portability of the produced wheels.
169169
PORTABLE_FLAG="-DALP_PORTABLE_BUILD=ON"
170170
LTO_FLAG="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF"
171-
cmake -S . -B "${BUILD_DIR}" -G Ninja -DCMAKE_BUILD_TYPE=Release -DENABLE_PYALP=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_FIND_FRAMEWORK=NEVER ${MACOS_FLAGS} ${NUMA_FLAG} ${CMAKE_PREFIX_HINT:-} ${OSX_DEPLOY_FLAG:-} ${PORTABLE_FLAG} ${LTO_FLAG} -DPython3_EXECUTABLE="${PYEXEC}" -DALP_VERSION="${ALP_VERSION}" -DALP_GIT_COMMIT_SHA="${ALP_GIT_COMMIT}" -DALP_GIT_BRANCH="${ALP_GIT_BRANCH}" -Dpyalp_VERSION="${PYALP_VERSION}" -DWITH_OMP_BACKEND=ON -DWITH_NONBLOCKING_BACKEND=ON
172-
cmake --build "${BUILD_DIR}" --target pyalp_ref pyalp_omp pyalp_nonblocking --parallel
171+
# Only enable OMP and nonblocking backends on Linux runners where libomp
172+
# and required build support are available. macOS wheels will build the
173+
# stable reference backend only to avoid SDK/ABI compile issues.
174+
if [ "$(uname -s)" = "Linux" ]; then
175+
BACKEND_FLAGS="-DWITH_OMP_BACKEND=ON -DWITH_NONBLOCKING_BACKEND=ON"
176+
BUILD_TARGETS="pyalp_ref pyalp_omp pyalp_nonblocking"
177+
else
178+
BACKEND_FLAGS="-DWITH_OMP_BACKEND=OFF -DWITH_NONBLOCKING_BACKEND=OFF"
179+
BUILD_TARGETS="pyalp_ref"
180+
fi
181+
182+
cmake -S . -B "${BUILD_DIR}" -G Ninja -DCMAKE_BUILD_TYPE=Release -DENABLE_PYALP=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_FIND_FRAMEWORK=NEVER ${MACOS_FLAGS} ${NUMA_FLAG} ${CMAKE_PREFIX_HINT:-} ${OSX_DEPLOY_FLAG:-} ${PORTABLE_FLAG} ${LTO_FLAG} ${BACKEND_FLAGS} -DPython3_EXECUTABLE="${PYEXEC}" -DALP_VERSION="${ALP_VERSION}" -DALP_GIT_COMMIT_SHA="${ALP_GIT_COMMIT}" -DALP_GIT_BRANCH="${ALP_GIT_BRANCH}" -Dpyalp_VERSION="${PYALP_VERSION}"
183+
cmake --build "${BUILD_DIR}" --target ${BUILD_TARGETS} --parallel
173184
# Debug: show the generated metadata file (if present) to the CI logs
174185
echo "[cibw] Checking for generated metadata file: ${CMAKE_BUILD_DIR}/pyalp_metadata.py"
175186
if [ -f "${CMAKE_BUILD_DIR}/pyalp_metadata.py" ]; then

pyalp/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "pyalp"
7-
version = "0.8.5"
7+
version = "0.8.8"
88
description = "Python bindings for ALP GraphBLAS (minimal package layout)"
99
authors = [ { name = "ALP" } ]
1010
readme = "README.md"

0 commit comments

Comments
 (0)