Skip to content

Commit 1225a40

Browse files
committed
fix merge conflicts
2 parents 2127c1b + 62bb2f3 commit 1225a40

File tree

164 files changed

+6390
-3951
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+6390
-3951
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ CMakeLists.txt @sbryngelson @henryleberre
1313
.vscode/ @sbryngelson @henryleberre
1414
.github/workflows/ @sbryngelson @henryleberre
1515

16+
# Spencer H. Bryngelson & Ben Wilfong
17+
.typos.toml @sbryngelson @wilfonba

.github/codecov.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
coverage:
2+
status:
3+
project:
4+
default:
5+
target: 1%
6+
threshold: 1%
7+
patch:
8+
default:
9+
target: 1%
10+
threshold: 1%

.github/file-filter.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ fortran_src: &fortran_src
77

88
python_src: &python_src
99
- '**/*.py'
10-
- 'toolchain/requirements.txt'
10+
- 'toolchain/pyproject.toml'
1111

1212
cmakelist: &cmakelist
1313
- 'CMakeLists.txt'
@@ -22,12 +22,16 @@ scripts: &scripts
2222
- 'toolchain/bootstrap/**'
2323

2424
yml: &yml
25-
- '**/*.yml'
25+
- '.github/workflows/phoenix/**'
26+
- '.github/workflows/frontier/**'
27+
- '.github/workflows/bench.yml'
28+
- '.github/workflows/test.yml'
29+
- '.github/workflows/formatting.yml'
2630

2731
checkall: &checkall
2832
- *fortran_src
2933
- *python_src
3034
- *cmakelist
3135
- *tests
3236
- *scripts
33-
- *yml
37+
- *yml

.github/workflows/bench.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ jobs:
2020

2121
self:
2222
name: Georgia Tech | Phoenix (NVHPC)
23-
if: github.repository == 'MFlowCode/MFC'
23+
if: github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true'
24+
needs: file-changes
2425
strategy:
2526
matrix:
2627
device: ['cpu', 'gpu']
@@ -33,12 +34,12 @@ jobs:
3334
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
3435
steps:
3536
- name: Clone - PR
36-
uses: actions/checkout@v3
37+
uses: actions/checkout@v4
3738
with:
3839
path: pr
3940

4041
- name: Clone - Master
41-
uses: actions/checkout@v3
42+
uses: actions/checkout@v4
4243
with:
4344
repository: MFlowCode/MFC
4445
ref: master
@@ -56,7 +57,7 @@ jobs:
5657
(cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
5758
5859
- name: Archive Logs
59-
uses: actions/upload-artifact@v3
60+
uses: actions/upload-artifact@v4
6061
if: always()
6162
with:
6263
name: logs-${{ matrix.device }}

.github/workflows/cleanliness.yml

Lines changed: 120 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -3,103 +3,125 @@ name: Cleanliness
33
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6-
cleanliness:
7-
name: Code Cleanliness Test
8-
runs-on: "ubuntu-latest"
9-
env:
10-
pr_everything: 0
11-
master_everything: 0
12-
steps:
13-
- name: Clone - PR
14-
uses: actions/checkout@v3
15-
with:
16-
path: pr
17-
- name: Clone - Master
18-
uses: actions/checkout@v3
19-
with:
20-
repository: MFlowCode/MFC
21-
ref: master
22-
path: master
23-
24-
- name: Setup Ubuntu
25-
run: |
26-
sudo apt update -y
27-
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
28-
29-
- name: Build
30-
run: |
31-
(cd pr && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../pr.txt)
32-
(cd master && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../master.txt)
33-
sed -i '/\/pr\//d' pr.txt
34-
sed -i '/\/master\//d' master.txt
35-
36-
- name: Unused Variables Diff
37-
run: |
38-
grep -F 'Wunused-variable' master.txt > mUnused.txt
39-
grep -F 'Wunused-variable' pr.txt > prUnused.txt
40-
diff prUnused.txt mUnused.txt || true
41-
42-
- name: Unused Dummy Arguments Diff
43-
run: |
44-
grep -F 'Wunused-dummy-argument' pr.txt > prDummy.txt
45-
grep -F 'Wunused-dummy-argument' master.txt > mDummy.txt
46-
diff prDummy.txt mDummy.txt || true
47-
48-
- name: Unused Value Diff
49-
run: |
50-
grep -F 'Wunused-value' pr.txt > prUnused_val.txt
51-
grep -F 'Wunused-value' master.txt > mUnused_val.txt
52-
diff prUnused_val.txt mUnused_val.txt || true
53-
54-
- name: Maybe Uninitialized Variables Diff
55-
run: |
56-
grep -F 'Wmaybe-uninitialized' pr.txt > prMaybe.txt
57-
grep -F 'Wmaybe-uninitialized' master.txt > mMaybe.txt
58-
diff prMaybe.txt mMaybe.txt || true
59-
60-
61-
- name: Everything Diff
62-
run: |
63-
grep '\-W' pr.txt > pr_every.txt
64-
grep '\-W' master.txt > m_every.txt
65-
diff pr_every.txt m_every.txt || true
66-
67-
- name: List of Warnings
68-
run: |
69-
cat pr_every.txt
70-
71-
72-
- name: Summary
73-
run: |
74-
pr_variable=$(grep -c -F 'Wunused-variable' pr.txt)
75-
pr_argument=$(grep -c -F 'Wunused-dummy-argument' pr.txt)
76-
pr_value=$(grep -c -F 'Wunused-value' pr.txt)
77-
pr_uninit=$(grep -c -F 'Wmaybe-uninitialized' pr.txt)
78-
pr_everything=$(grep -c '\-W' pr.txt)
79-
80-
master_variable=$(grep -c -F 'Wunused-variable' master.txt)
81-
master_argument=$(grep -c -F 'Wunused-dummy-argument' master.txt)
82-
master_value=$(grep -c -F 'Wunused-value' master.txt)
83-
master_uninit=$(grep -c -F 'Wmaybe-uninitialized' master.txt)
84-
master_everything=$(grep -c '\-W' master.txt )
85-
86-
echo "pr_everything=$pr_everything" >> $GITHUB_ENV
87-
echo "master_everything=$master_everything" >> $GITHUB_ENV
88-
89-
echo "Difference is how many warnings were added or removed from master to PR."
90-
echo "Negative numbers are better since you are removing warnings."
91-
echo " "
92-
echo "Unused Variable Count: $pr_variable, Difference: $((pr_variable - master_variable))"
93-
echo "Unused Dummy Argument: $pr_argument, Difference: $((pr_argument - master_argument))"
94-
echo "Unused Value: $pr_value, Difference: $((pr_value - master_value))"
95-
echo "Maybe Uninitialized: $pr_uninit, Difference: $((pr_uninit - master_uninit))"
96-
echo "Everything: $pr_everything, Difference: $((pr_everything - master_everything))"
97-
98-
99-
- name: Check Differences
100-
if: env.pr_everything > env.master_everything
101-
run: |
102-
echo "Difference between warning count in PR is greater than in master."
103-
exit 1
6+
file-changes:
7+
name: Detect File Changes
8+
runs-on: 'ubuntu-latest'
9+
outputs:
10+
checkall: ${{ steps.changes.outputs.checkall }}
11+
steps:
12+
- name: Clone
13+
uses: actions/checkout@v4
14+
15+
- name: Detect Changes
16+
uses: dorny/paths-filter@v3
17+
id: changes
18+
with:
19+
filters: ".github/file-filter.yml"
20+
21+
cleanliness:
22+
name: Code Cleanliness Check
23+
if: needs.file-changes.outputs.checkall == 'true'
24+
needs: file-changes
25+
runs-on: "ubuntu-latest"
26+
env:
27+
pr_everything: 0
28+
master_everything: 0
29+
steps:
30+
- name: Clone - PR
31+
uses: actions/checkout@v4
32+
with:
33+
path: pr
34+
- name: Clone - Master
35+
uses: actions/checkout@v4
36+
with:
37+
repository: MFlowCode/MFC
38+
ref: master
39+
path: master
40+
41+
- name: Setup Ubuntu
42+
run: |
43+
sudo apt update -y
44+
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
45+
46+
- name: Build
47+
run: |
48+
(cd pr && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../pr.txt)
49+
(cd master && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../master.txt)
50+
sed -i '/\/pr\//d' pr.txt
51+
sed -i '/\/master\//d' master.txt
52+
53+
- name: Unused Variables Diff
54+
continue-on-error: true
55+
run: |
56+
grep -F 'Wunused-variable' master.txt > mUnused.txt
57+
grep -F 'Wunused-variable' pr.txt > prUnused.txt
58+
diff prUnused.txt mUnused.txt
59+
60+
- name: Unused Dummy Arguments Diff
61+
continue-on-error: true
62+
run: |
63+
grep -F 'Wunused-dummy-argument' pr.txt > prDummy.txt
64+
grep -F 'Wunused-dummy-argument' master.txt > mDummy.txt
65+
diff prDummy.txt mDummy.txt
66+
67+
- name: Unused Value Diff
68+
continue-on-error: true
69+
run: |
70+
grep -F 'Wunused-value' pr.txt > prUnused_val.txt
71+
grep -F 'Wunused-value' master.txt > mUnused_val.txt
72+
diff prUnused_val.txt mUnused_val.txt
73+
74+
- name: Maybe Uninitialized Variables Diff
75+
continue-on-error: true
76+
run: |
77+
grep -F 'Wmaybe-uninitialized' pr.txt > prMaybe.txt
78+
grep -F 'Wmaybe-uninitialized' master.txt > mMaybe.txt
79+
diff prMaybe.txt mMaybe.txt
80+
81+
82+
- name: Everything Diff
83+
continue-on-error: true
84+
run: |
85+
grep '\-W' pr.txt > pr_every.txt
86+
grep '\-W' master.txt > m_every.txt
87+
diff pr_every.txt m_every.txt
88+
89+
- name: List of Warnings
90+
run: |
91+
cat pr_every.txt
92+
93+
94+
- name: Summary
95+
continue-on-error: true
96+
run: |
97+
pr_variable=$(grep -c -F 'Wunused-variable' pr.txt)
98+
pr_argument=$(grep -c -F 'Wunused-dummy-argument' pr.txt)
99+
pr_value=$(grep -c -F 'Wunused-value' pr.txt)
100+
pr_uninit=$(grep -c -F 'Wmaybe-uninitialized' pr.txt)
101+
pr_everything=$(grep -c '\-W' pr.txt)
102+
103+
master_variable=$(grep -c -F 'Wunused-variable' master.txt)
104+
master_argument=$(grep -c -F 'Wunused-dummy-argument' master.txt)
105+
master_value=$(grep -c -F 'Wunused-value' master.txt)
106+
master_uninit=$(grep -c -F 'Wmaybe-uninitialized' master.txt)
107+
master_everything=$(grep -c '\-W' master.txt )
108+
109+
echo "pr_everything=$pr_everything" >> $GITHUB_ENV
110+
echo "master_everything=$master_everything" >> $GITHUB_ENV
111+
112+
echo "Difference is how many warnings were added or removed from master to PR."
113+
echo "Negative numbers are better since you are removing warnings."
114+
echo " "
115+
echo "Unused Variable Count: $pr_variable, Difference: $((pr_variable - master_variable))"
116+
echo "Unused Dummy Argument: $pr_argument, Difference: $((pr_argument - master_argument))"
117+
echo "Unused Value: $pr_value, Difference: $((pr_value - master_value))"
118+
echo "Maybe Uninitialized: $pr_uninit, Difference: $((pr_uninit - master_uninit))"
119+
echo "Everything: $pr_everything, Difference: $((pr_everything - master_everything))"
120+
121+
122+
- name: Check Differences
123+
if: env.pr_everything > env.master_everything
124+
run: |
125+
echo "Difference between warning count in PR is greater than in master."
104126
105127

.github/workflows/coverage.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ jobs:
3131
run: |
3232
sudo apt update -y
3333
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
34-
35-
34+
3635
- name: Build
3736
run: /bin/bash mfc.sh build -j $(nproc) --gcov
3837

@@ -42,7 +41,6 @@ jobs:
4241
- name: Upload coverage reports to Codecov
4342
uses: codecov/codecov-action@v4
4443
with:
45-
token: ${{ secrets.CODECOV_TOKEN }}
4644
fail_ci_if_error: false
4745
verbose: true
4846
env:

.github/workflows/docs.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
name: Documentation
22

3-
on: [push, pull_request, workflow_dispatch]
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # This runs every day at midnight UTC
6+
workflow_dispatch:
7+
push:
8+
pull_request:
49

510
jobs:
611
docs:
712
name: Build & Publish
813
runs-on: ubuntu-latest
914

10-
concurrency:
11-
group: docs-publish
12-
cancel-in-progress: true
13-
1415
steps:
1516
- uses: actions/checkout@v4
1617

@@ -47,7 +48,7 @@ jobs:
4748
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
4849
4950
- name: Publish Documentation
50-
if: github.repository == 'MFlowCode/MFC' && github.ref == 'refs/heads/master' && github.event_name == 'push'
51+
if: github.repository == 'MFlowCode/MFC' && github.ref == 'refs/heads/master' && ( github.event_name == 'cron' || github.event_name == 'workflow_dispatch' )
5152
run: |
5253
set +e
5354
git ls-remote "${{ secrets.DOC_PUSH_URL }}" -q
File renamed without changes.

.github/workflows/count.yml renamed to .github/workflows/line-count.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,25 @@ name: Check Line Counts
33
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6+
file-changes:
7+
name: Detect File Changes
8+
runs-on: 'ubuntu-latest'
9+
outputs:
10+
checkall: ${{ steps.changes.outputs.checkall }}
11+
steps:
12+
- name: Clone
13+
uses: actions/checkout@v4
14+
15+
- name: Detect Changes
16+
uses: dorny/paths-filter@v3
17+
id: changes
18+
with:
19+
filters: ".github/file-filter.yml"
20+
621
sz:
722
name: Core MFC Line Difference
23+
if: needs.file-changes.outputs.checkall == 'true'
24+
needs: file-changes
825
permissions:
926
contents: read
1027
pull-requests: write

.github/workflows/phoenix/bench.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
n_ranks=4
3+
n_ranks=12
44

55
if [ "$job_device" == "gpu" ]; then
66
n_ranks=$(nvidia-smi -L | wc -l) # number of GPUs on node
@@ -9,7 +9,7 @@ if [ "$job_device" == "gpu" ]; then
99
fi
1010

1111
if ["$job_device" == "gpu"]; then
12-
./mfc.sh bench --mem 8 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks
12+
./mfc.sh bench --mem 12 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks
1313
else
1414
./mfc.sh bench --mem 1 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks
15-
fi
15+
fi

0 commit comments

Comments
 (0)