Skip to content

Commit cd4efaf

Browse files
committed
feat: implement parallelrom and stabilize ci environment
1 parent a4862a9 commit cd4efaf

27 files changed

+299
-143
lines changed

.github/workflows/testing_pr.yml

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ on:
55
branches:
66
- "master"
77

8-
98
jobs:
109
build:
1110
runs-on: ${{ matrix.os }}
@@ -14,21 +13,47 @@ jobs:
1413
matrix:
1514
os: [windows-latest, macos-latest, ubuntu-latest]
1615
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
16+
17+
env:
18+
CFLAGS: "-Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types"
19+
CXXFLAGS: "-Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types"
1720

1821
steps:
1922
- uses: actions/checkout@v4
2023

21-
2224
- name: Set up Python
2325
uses: actions/setup-python@v4
2426
with:
2527
python-version: ${{ matrix.python-version }}
2628

29+
- name: Install system dependencies (Linux)
30+
if: runner.os == 'Linux'
31+
run: |
32+
sudo apt-get update
33+
sudo apt-get install -y libboost-serialization-dev libprotobuf-dev protobuf-compiler libopenblas-dev liblapack-dev
34+
35+
- name: Set up Java for PyCOMPSs
36+
if: runner.os == 'Linux'
37+
uses: actions/setup-java@v3
38+
with:
39+
distribution: 'temurin'
40+
java-version: '11'
41+
2742
- name: Install Python dependencies
43+
shell: bash
2844
run: |
2945
python3 -m pip install --upgrade pip
46+
python3 -m pip install setuptools wheel
47+
if [ "$RUNNER_OS" == "Linux" ]; then
48+
python3 -m pip install pycompss --no-build-isolation
49+
fi
3050
python3 -m pip install .[test]
3151
3252
- name: Test with pytest
53+
shell: bash
3354
run: |
34-
python3 -m pytest
55+
if [ "$RUNNER_OS" == "Linux" ]; then
56+
python3 -m pytest
57+
else
58+
python3 -m pytest --ignore=tests/test_parallel/
59+
fi

ezyrb/parallel/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
from .reduction import Reduction
1919
from .pod import POD
2020
from .ae import AE
21-
from .ae_eddl import AE_EDDL
21+
try:
22+
from .ae_eddl import AE_EDDL
23+
except ImportError:
24+
pass
2225
from .approximation import Approximation
2326
from .rbf import RBF
2427
from .linear import Linear

ezyrb/parallel/pod.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
from numpy.linalg import eigh
1212
import numpy as np
1313

14-
from pycompss.api.task import task
15-
from pycompss.api.parameter import INOUT, IN
14+
try:
15+
from pycompss.api.task import task
16+
from pycompss.api.parameter import INOUT, IN
17+
except ImportError:
18+
# Fallback: Define a 'do-nothing' decorator and dummy constants
19+
def task(*args, **kwargs):
20+
return lambda f: f
21+
22+
INOUT = None
23+
IN = None
24+
1625
from .reduction import Reduction
1726

1827

0 commit comments

Comments
 (0)