Skip to content

Commit d980d2d

Browse files
committed
debug
1 parent 3418783 commit d980d2d

File tree

6 files changed

+170
-174
lines changed

6 files changed

+170
-174
lines changed

.github/workflows/build.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107

108108
- name: Run tests
109109
if: always()
110-
run: python3 -m pytest --junit-xml=test-results-${{ env.BUILD_IDENTIFIER }}.xml tests/
110+
run: python3 -m pytest --junit-xml=test-results-${{ env.BUILD_IDENTIFIER }}.xml -k "testParallelGMG[4-interval-P3-false]" tests/
111111

112112
- name: Run flake8
113113
if: always()
@@ -221,7 +221,7 @@ jobs:
221221

222222
- name: Run tests
223223
if: always()
224-
run: python3 -m pytest --junit-xml=test-results-${{ runner.os }}-${{ matrix.py-version }}.xml tests/
224+
run: python3 -m pytest --junit-xml=test-results-${{ runner.os }}-${{ matrix.py-version }}.xml -k "testParallelGMG[4-interval-P3-false]" tests/
225225

226226
- name: Run flake8
227227
if: always()

.github/workflows/container.yml

+111-111
Original file line numberDiff line numberDiff line change
@@ -32,114 +32,114 @@ jobs:
3232
echo "IMAGE_TAGS=pr-${{ github.event.number }}" >> $GITHUB_ENV
3333
echo "TEST_IMAGE_TAG=pr-${{ github.event.number }}" >> $GITHUB_ENV
3434
35-
- name: Check out
36-
if: always()
37-
uses: actions/[email protected]
38-
with:
39-
fetch-depth: 0
40-
41-
# - uses: hadolint/[email protected]
42-
# with:
43-
# dockerfile: Dockerfile
44-
# ignore: 'DL3008,DL3013'
45-
# verbose: true
46-
47-
- name: Build Image
48-
id: build_image
49-
uses: redhat-actions/buildah-build@v2
50-
with:
51-
image: ${{ env.IMAGE_NAME }}
52-
tags: ${{ env.IMAGE_TAGS }}
53-
containerfiles: |
54-
./Dockerfile
55-
build-args: |
56-
PYNUCLEUS_BUILD_PARALLELISM=4
57-
58-
- name: Push To GHCR
59-
if: (github.event_name == 'pull_request') && (github.actor != 'dependabot[bot]')
60-
uses: redhat-actions/push-to-registry@v2
61-
id: push-pr
62-
with:
63-
image: ${{ steps.build_image.outputs.image }}
64-
tags: ${{ env.IMAGE_TAGS }}
65-
registry: ${{ env.IMAGE_REGISTRY }}
66-
username: ${{ env.REGISTRY_USER }}
67-
password: ${{ env.REGISTRY_PASSWORD }}
68-
extra-args: |
69-
--disable-content-trust
70-
71-
- name: Run tests
72-
run: |
73-
podman run \
74-
-e MPIEXEC_FLAGS="--allow-run-as-root --oversubscribe" \
75-
--workdir /pynucleus \
76-
--rm \
77-
--entrypoint='["python3", "-m", "pytest", "--junit-xml", "test-results.xml"]' \
78-
${{ steps.build_image.outputs.image }}:${{ env.TEST_IMAGE_TAG }}
79-
80-
- name: Push To GHCR
81-
if: github.event_name == 'push'
82-
uses: redhat-actions/push-to-registry@v2
83-
id: push
84-
with:
85-
image: ${{ steps.build_image.outputs.image }}
86-
tags: ${{ steps.build_image.outputs.tags }}
87-
registry: ${{ env.IMAGE_REGISTRY }}
88-
username: ${{ env.REGISTRY_USER }}
89-
password: ${{ env.REGISTRY_PASSWORD }}
90-
extra-args: |
91-
--disable-content-trust
92-
93-
- name: Echo outputs
94-
if: github.event_name == 'push'
95-
run: |
96-
echo "${{ toJSON(steps.push.outputs) }}"
97-
98-
container-test:
99-
needs: container
100-
101-
strategy:
102-
matrix:
103-
include:
104-
- runner: 'ubuntu-latest'
105-
106-
name: Container test ${{ matrix.runner }}
107-
runs-on: ${{ matrix.runner }}
108-
109-
steps:
110-
- name: Check out
111-
uses: actions/[email protected]
112-
113-
- name: Install podman-compose
114-
run: pip install podman-compose
115-
116-
- name: Run container test
117-
run: podman-compose run quick-test
118-
119-
update-binder-image:
120-
needs: container
121-
if: github.event_name == 'push'
122-
123-
runs-on: ubuntu-latest
124-
125-
steps:
126-
- name: Checkout binder branch
127-
uses: actions/[email protected]
128-
with:
129-
ref: binder
130-
131-
- name: Modify Dockerfile
132-
run: |
133-
python generateDockerfile.py ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TEST_IMAGE_TAG }}
134-
135-
- name: Create PR
136-
uses: peter-evans/create-pull-request@v6
137-
with:
138-
token: ${{ secrets.GITHUB_TOKEN }}
139-
commit-message: "Update Dockerfile"
140-
title: "Update Dockerfile"
141-
body: |
142-
This PR updates the Dockerfile for binder.
143-
branch: binder-update
144-
base: binder
145-
delete-branch: true
35+
# - name: Check out
36+
# if: always()
37+
# uses: actions/[email protected]
38+
# with:
39+
# fetch-depth: 0
40+
41+
# # - uses: hadolint/[email protected]
42+
# # with:
43+
# # dockerfile: Dockerfile
44+
# # ignore: 'DL3008,DL3013'
45+
# # verbose: true
46+
47+
# - name: Build Image
48+
# id: build_image
49+
# uses: redhat-actions/buildah-build@v2
50+
# with:
51+
# image: ${{ env.IMAGE_NAME }}
52+
# tags: ${{ env.IMAGE_TAGS }}
53+
# containerfiles: |
54+
# ./Dockerfile
55+
# build-args: |
56+
# PYNUCLEUS_BUILD_PARALLELISM=4
57+
58+
# - name: Push To GHCR
59+
# if: (github.event_name == 'pull_request') && (github.actor != 'dependabot[bot]')
60+
# uses: redhat-actions/push-to-registry@v2
61+
# id: push-pr
62+
# with:
63+
# image: ${{ steps.build_image.outputs.image }}
64+
# tags: ${{ env.IMAGE_TAGS }}
65+
# registry: ${{ env.IMAGE_REGISTRY }}
66+
# username: ${{ env.REGISTRY_USER }}
67+
# password: ${{ env.REGISTRY_PASSWORD }}
68+
# extra-args: |
69+
# --disable-content-trust
70+
71+
# - name: Run tests
72+
# run: |
73+
# podman run \
74+
# -e MPIEXEC_FLAGS="--allow-run-as-root --oversubscribe" \
75+
# --workdir /pynucleus \
76+
# --rm \
77+
# --entrypoint='["python3", "-m", "pytest", "--junit-xml", "test-results.xml"]' \
78+
# ${{ steps.build_image.outputs.image }}:${{ env.TEST_IMAGE_TAG }}
79+
80+
# - name: Push To GHCR
81+
# if: github.event_name == 'push'
82+
# uses: redhat-actions/push-to-registry@v2
83+
# id: push
84+
# with:
85+
# image: ${{ steps.build_image.outputs.image }}
86+
# tags: ${{ steps.build_image.outputs.tags }}
87+
# registry: ${{ env.IMAGE_REGISTRY }}
88+
# username: ${{ env.REGISTRY_USER }}
89+
# password: ${{ env.REGISTRY_PASSWORD }}
90+
# extra-args: |
91+
# --disable-content-trust
92+
93+
# - name: Echo outputs
94+
# if: github.event_name == 'push'
95+
# run: |
96+
# echo "${{ toJSON(steps.push.outputs) }}"
97+
98+
# container-test:
99+
# needs: container
100+
101+
# strategy:
102+
# matrix:
103+
# include:
104+
# - runner: 'ubuntu-latest'
105+
106+
# name: Container test ${{ matrix.runner }}
107+
# runs-on: ${{ matrix.runner }}
108+
109+
# steps:
110+
# - name: Check out
111+
# uses: actions/[email protected]
112+
113+
# - name: Install podman-compose
114+
# run: pip install podman-compose
115+
116+
# - name: Run container test
117+
# run: podman-compose run quick-test
118+
119+
# update-binder-image:
120+
# needs: container
121+
# if: github.event_name == 'push'
122+
123+
# runs-on: ubuntu-latest
124+
125+
# steps:
126+
# - name: Checkout binder branch
127+
# uses: actions/[email protected]
128+
# with:
129+
# ref: binder
130+
131+
# - name: Modify Dockerfile
132+
# run: |
133+
# python generateDockerfile.py ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TEST_IMAGE_TAG }}
134+
135+
# - name: Create PR
136+
# uses: peter-evans/create-pull-request@v6
137+
# with:
138+
# token: ${{ secrets.GITHUB_TOKEN }}
139+
# commit-message: "Update Dockerfile"
140+
# title: "Update Dockerfile"
141+
# body: |
142+
# This PR updates the Dockerfile for binder.
143+
# branch: binder-update
144+
# base: binder
145+
# delete-branch: true

.github/workflows/documentation-ci.yml

+38-38
Original file line numberDiff line numberDiff line change
@@ -26,49 +26,49 @@ jobs:
2626
- name: Check out repo
2727
uses: actions/[email protected]
2828

29-
- name: Pull ccache cache
30-
id: ccache-restore
31-
uses: actions/cache/restore@v4
32-
with:
33-
path: /home/runner/.cache/ccache
34-
key: ccache-documentation-ci
29+
# - name: Pull ccache cache
30+
# id: ccache-restore
31+
# uses: actions/cache/restore@v4
32+
# with:
33+
# path: /home/runner/.cache/ccache
34+
# key: ccache-documentation-ci
3535

36-
- uses: actions/setup-python@v5
37-
with:
38-
python-version: '3.11'
36+
# - uses: actions/setup-python@v5
37+
# with:
38+
# python-version: '3.11'
3939

40-
- name: Install Ubuntu packages
41-
run: |
42-
sudo apt-get update
43-
sudo apt-get install mpi-default-bin mpi-default-dev libmetis-dev libparmetis-dev libsuitesparse-dev ccache
40+
# - name: Install Ubuntu packages
41+
# run: |
42+
# sudo apt-get update
43+
# sudo apt-get install mpi-default-bin mpi-default-dev libmetis-dev libparmetis-dev libsuitesparse-dev ccache
4444

45-
- name: Install Python dependencies
46-
run: make prereq && make prereq-extra
45+
# - name: Install Python dependencies
46+
# run: make prereq && make prereq-extra
4747

48-
- name: Install
49-
run: make dev
48+
# - name: Install
49+
# run: make dev
5050

51-
- name: Remove ccache cache
52-
if: ${{ steps.ccache-restore.outputs.cache-hit }}
53-
shell: bash
54-
env:
55-
GH_TOKEN: ${{ github.token }}
56-
run: |
57-
gh extension install actions/gh-actions-cache
58-
gh actions-cache delete ccache --confirm
59-
continue-on-error: true
51+
# - name: Remove ccache cache
52+
# if: ${{ steps.ccache-restore.outputs.cache-hit }}
53+
# shell: bash
54+
# env:
55+
# GH_TOKEN: ${{ github.token }}
56+
# run: |
57+
# gh extension install actions/gh-actions-cache
58+
# gh actions-cache delete ccache --confirm
59+
# continue-on-error: true
6060

61-
- name: Push ccache cache
62-
uses: actions/cache/save@v4
63-
with:
64-
path: /home/runner/.cache/ccache
65-
key: ccache-documentation-ci
61+
# - name: Push ccache cache
62+
# uses: actions/cache/save@v4
63+
# with:
64+
# path: /home/runner/.cache/ccache
65+
# key: ccache-documentation-ci
6666

67-
- name: Build documentation
68-
run: |
69-
make docs
67+
# - name: Build documentation
68+
# run: |
69+
# make docs
7070

71-
- name: Upload artifact
72-
uses: actions/upload-artifact@v4
73-
with:
74-
path: 'docs/build'
71+
# - name: Upload artifact
72+
# uses: actions/upload-artifact@v4
73+
# with:
74+
# path: 'docs/build'

fem/PyNucleus_fem/algebraicOverlaps.pyx

+3-1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ cdef class algebraicOverlap:
8686
INDEX_t[::1] shared_dofs = self.shared_dofs
8787
for j in range(self.num_shared_dofs):
8888
self.myExchangeOut[j] = vec[shared_dofs[j]]
89+
assert np.all(np.isfinite(self.exchangeOut))
8990
self.tagNoSend += 1
9091
return self.comm.Isend(self.myExchangeOut,
9192
dest=self.otherSubdomainNo,
@@ -108,6 +109,7 @@ cdef class algebraicOverlap:
108109
INDEX_t[::1] shared_dofs = self.shared_dofs
109110
for j in range(self.num_shared_dofs):
110111
vec[shared_dofs[j]] += self.myExchangeIn[j]
112+
assert np.all(np.isfinite(self.exchangeIn))
111113

112114
cdef MPI.Request sendComplex(self,
113115
const COMPLEX_t[::1] vec,
@@ -553,7 +555,7 @@ cdef class algebraicOverlapManager:
553555
shared_dofs = set()
554556
for otherSubdomain in self.overlaps:
555557
shared_dofs |= set(list(np.array(self.overlaps[otherSubdomain].shared_dofs)))
556-
return np.array(list(shared_dofs), dtype=INDEX)
558+
return np.array(sorted(shared_dofs), dtype=INDEX)
557559

558560
def prepareDistribute(self):
559561
cdef:

0 commit comments

Comments
 (0)