Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.4 release #89

Merged
merged 419 commits into from
Jul 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
419 commits
Select commit Hold shift + click to select a range
483ac52
Fixup pass ref_exec
greole Aug 10, 2022
21756d6
Fixup after ogl rebase
greole Sep 5, 2022
158eff5
update to most recent OGL branch
greole Sep 5, 2022
7a6a020
Compute target_rows_end
greole Sep 6, 2022
f55a896
Merge remote-tracking branch 'origin/repartition' into repartition
greole Sep 6, 2022
5e31dc0
Fixup
greole Sep 6, 2022
4f4efaa
Don't solve empty partitions
greole Sep 6, 2022
43e45e4
Time repartitioning
greole Sep 6, 2022
1b005c6
Add a debug flag
greole Sep 7, 2022
17faad4
Wait for debugger to be attached
greole Sep 7, 2022
3447a4a
Move print_info to OGL_Info
greole Sep 7, 2022
24dc117
Write pids of individual ranks
greole Sep 8, 2022
1b92d5c
Remove asan
greole Sep 15, 2022
44c8b03
Add scattering
greole Sep 19, 2022
f3f47b3
Fixup dont destroy original dist_A
greole Sep 19, 2022
f3f787b
Fix scatter only if multiple ranks per GPU
greole Sep 20, 2022
0104e15
Refactor DevicePersitent Matrix
greole Sep 21, 2022
cad4ebb
Fixup add DevicePersistent Partition definition
greole Sep 22, 2022
fbe3677
WIP add template def
greole Sep 22, 2022
e36459e
Fixup order of PartitionInitFunctor call
greole Sep 22, 2022
f155ad3
fix creation of distributed matrix
greole Sep 22, 2022
004cb4c
Move matrix and vector to device after init
greole Sep 22, 2022
b6828f4
avoid node_local_rank calls for now to avoid hang
greole Sep 22, 2022
03b79ce
Implement copy_back and update
greole Sep 23, 2022
2d49294
Implement update
greole Sep 23, 2022
1cc32ac
Move matrix to device
greole Sep 24, 2022
322c57f
Add RanksPerGPU to device id calculation
greole Sep 24, 2022
b50da49
Fixup
greole Sep 24, 2022
3299d61
Add matrix update
greole Sep 24, 2022
1bfe404
Fixup matrix and vector update
greole Sep 25, 2022
521a9e1
Make local matrix format selectable
greole Sep 25, 2022
0c6c72d
Print out matrix format
greole Sep 25, 2022
596cea7
Make keywords consistent
greole Sep 26, 2022
2d58c59
Print out res norm evaluation time
greole Sep 26, 2022
dd73128
update frequency calculation
greole Sep 26, 2022
0fbf813
Store relative res calculation cost
greole Sep 26, 2022
709501a
Hotfix
greole Sep 29, 2022
45ee84d
Add timings to device persist init and update function
greole Sep 29, 2022
d34b84d
Make it less verbose
greole Sep 29, 2022
8c31937
Merge pull request #64 from hpsim/repartition
greole Sep 29, 2022
f4c8744
build device_matrix_data from array
greole Sep 29, 2022
7d3b942
WIP generate local and non-local matrix data
greole Oct 2, 2022
ee3fced
build non_local_matrix indices
greole Oct 3, 2022
f196b45
Add update_local_matrix_data
greole Oct 3, 2022
76b0d75
Remove gkoGlobalIndex usage, add persistenSparsity
greole Oct 3, 2022
98ebc04
ADd update non_local_coeffs
greole Oct 3, 2022
1e3a047
Pass down local and non-local matrix data to dist_A
greole Oct 3, 2022
4434894
Fixup
greole Oct 3, 2022
2ede25b
Update needs reimplement
greole Oct 3, 2022
90fee2d
Fixup update
greole Oct 3, 2022
dcc1077
Fixup
greole Oct 3, 2022
c4e7f76
Fixup
greole Oct 4, 2022
5ad13d4
Fixup
greole Oct 4, 2022
4c53de8
Cleanup
greole Oct 4, 2022
5e6b369
Cleanup
greole Oct 4, 2022
df5e2b2
Fixup
greole Oct 4, 2022
9a7c6cc
Fixup
greole Oct 4, 2022
1c3dcec
Fixup
greole Oct 4, 2022
e0b58e2
Pass down local and non-local matrix data to dist_A
greole Oct 3, 2022
9a4da03
Count only cells on procInterfaces
greole Oct 4, 2022
4761f7d
Merge remote-tracking branch 'origin/distributed-update' into distrib…
greole Oct 4, 2022
fc205de
Fixup
greole Oct 4, 2022
5bbd364
overwrite only values on update
greole Oct 5, 2022
7f64e9b
Format
greole Oct 5, 2022
c4ba124
Make output less verbose
greole Oct 5, 2022
81e1cd1
Fixup different matrix ptr
greole Oct 5, 2022
64a6a02
Drop support of Hybrid for now
greole Oct 5, 2022
be3f8db
Add name to init call output
greole Oct 5, 2022
35d2880
Improve output
greole Oct 5, 2022
ac2400a
Explicitly specify ginkgo version
greole Oct 5, 2022
9156aa8
Compute and apply sorting to interfaces
greole Oct 6, 2022
4c9ddc8
Fixup copy vec to device, permute directly
greole Oct 6, 2022
cd35b74
Reduce contiguos size
greole Oct 6, 2022
61b9c8d
Fixup
greole Oct 6, 2022
c3f178e
Fixup
greole Oct 6, 2022
87a5bbb
No copy
greole Oct 6, 2022
5ed400b
Fixup
greole Oct 6, 2022
7627b72
Fixup
greole Oct 6, 2022
c38d7d9
Fixup
greole Oct 6, 2022
655b9fe
Add scaling
greole Oct 7, 2022
f94788c
Merge pull request #65 from hpsim/distributed-update
greole Oct 11, 2022
172b007
add nvtx annotations
greole Oct 13, 2022
9a91b05
Fixup annotations
greole Oct 13, 2022
f449d6a
Fixup
greole Oct 13, 2022
4811d97
Fixup
greole Oct 13, 2022
eee9ab0
Add build type to log
greole Oct 20, 2022
9cac055
Non symmetrix update (#66)
greole Oct 20, 2022
f339668
WIP profiling and repartition update
greole Oct 20, 2022
bd2c311
Merge pull request #68 from hpsim/repartition-update
greole Nov 2, 2022
1a7261e
Distinguish between FOAM version #67
greole Nov 9, 2022
9d85b95
Merge pull request #69 from hpsim/fix_compilation_foundation_version
greole Nov 9, 2022
452db7a
Fix Foundation build (#70)
greole Nov 12, 2022
56697f9
Fix adaptive stop (#71)
greole Nov 18, 2022
82437b2
Merge pull request #62 from hpsim/multi_gpu
greole Nov 21, 2022
714a571
Update README.md
greole Nov 21, 2022
64eabd5
Fix cuda compilation error
greole Nov 30, 2022
6cc72b5
Update version tag and commit id
greole Dec 12, 2022
14b29ad
Change distributed ns to experimental::distributed
greole Dec 12, 2022
8e654c8
Fixup + create dist vector with executor in args
greole Dec 13, 2022
3d6df93
Fixup
greole Dec 13, 2022
f0e4086
Fixup
greole Dec 13, 2022
8170de7
Fixup
greole Dec 13, 2022
fb77f69
Fixup
greole Dec 13, 2022
acdc245
Fixup
greole Dec 13, 2022
26898ec
Fixup
greole Dec 13, 2022
95e14f1
Fixup
greole Dec 13, 2022
13a826a
Fixup
greole Dec 13, 2022
8789b5b
Fixup
greole Dec 13, 2022
2e3e26d
Fixup
greole Dec 13, 2022
596c466
Fixup
greole Dec 13, 2022
c015d1c
Fixup
greole Dec 13, 2022
b4fed4a
Fixup
greole Dec 13, 2022
4e312c9
Fixup
greole Dec 13, 2022
50dddd4
Fixup
greole Dec 13, 2022
3540e06
Adapt to ogl 1.5.0
greole Feb 16, 2023
1968b08
pin gko version for testing
greole Feb 16, 2023
6d49d6f
Fixup pin versino
greole Feb 16, 2023
16f6834
Fixup gaps in partition if repartitioned > 2ranks
greole Feb 21, 2023
b5b831b
Add solve timing
greole Feb 22, 2023
3d0d847
Fixup
greole Feb 22, 2023
214e982
Fixup
greole Feb 22, 2023
fb1be53
Use TIME_WITH_FIELDNAME macro
greole Feb 22, 2023
743a2d4
Fixup
greole Feb 22, 2023
0ddb518
Prefer TIME_WITH_FIELDNAME over SIMPLE_TIME
greole Feb 22, 2023
eaea340
Add further timings
greole Feb 22, 2023
c81564c
Fixup
greole Feb 22, 2023
84e53c6
Store and reuse all_to_all_pattern
greole Feb 22, 2023
f853fd1
apply fixes
greole Apr 20, 2023
8304ad1
pin new version
greole Apr 20, 2023
a9b940f
Bump version for oneapi fix
greole Apr 20, 2023
3b6b7eb
wip cyclic
greole May 12, 2023
fec8a44
remove python package since it should be preinstalled
greole May 13, 2023
6e61157
wip cyclic
greole May 12, 2023
2fba2c7
Fixup
greole May 14, 2023
145a237
update cyclic implementation
greole May 15, 2023
17a2db9
Merge remote-tracking branch 'origin/cyclic' into cyclic
greole May 15, 2023
3c18c72
Add some implementation details
greole May 15, 2023
be95566
WIP cyclic BC add some fixes, fails at update
greole May 22, 2023
ee5dcfd
add format-check
greole May 22, 2023
39c3656
add format bot
greole May 22, 2023
5bbebd1
add formating workflow
greole May 22, 2023
67d4224
update cache version
greole May 22, 2023
e55c372
improve build workflow
greole May 22, 2023
4f8507d
rename
greole May 22, 2023
b8ecc27
fixup
greole May 22, 2023
ddbd04e
Fixup yaml file
greole May 23, 2023
e14e594
add basic test files
greole May 23, 2023
ddb82dd
update esi workflow
greole May 23, 2023
36ec7b5
fixup schedule syntax
greole May 23, 2023
202f0fe
fixup missing run statement
greole May 23, 2023
04c38ec
reformat
greole May 24, 2023
626ee7a
Add non-symmetric assembly
greole May 24, 2023
d2a91c4
fixup writing of env file
greole May 24, 2023
c3d4a7e
Merge pull request #78 from hpsim/non-symmetric-cyclic
greole May 24, 2023
5a1447e
trigger workflow (#79)
greole May 31, 2023
6c12ba7
switch off temporary debug option
greole May 31, 2023
d881439
add set persisten object option
greole May 31, 2023
142a9c0
remove debug output
greole May 31, 2023
2400d35
remove comment
greole May 31, 2023
8f0d820
test if push activates it
greole May 31, 2023
1b586e6
fixup parens
greole May 31, 2023
b5cae23
fixup install path
greole May 31, 2023
f388f73
Fixup use version specific member call
greole May 31, 2023
5ae9131
Fixup build
greole May 31, 2023
50db951
fix cached folders
greole Jun 1, 2023
4939a47
Fix missing path
greole Jun 1, 2023
19f2c36
Fix missing url
greole Jun 1, 2023
7dcae3a
install pip
greole Jun 1, 2023
8c9e317
init and run test cases
greole Jun 1, 2023
c251bc0
add obr run
greole Jun 1, 2023
e496ca7
update badge
greole Jun 1, 2023
c7a39ca
fix obr branch, upload artifacts
greole Jun 1, 2023
6bfe1d9
check if two runs were completed
greole Jun 5, 2023
c6deb0d
use venv for obr install
greole Jun 5, 2023
865bbf0
format
greole Jun 5, 2023
12dbc4e
fix python version
greole Jun 5, 2023
59dbcc8
install python-venv
greole Jun 5, 2023
6990012
fix obr init
greole Jun 5, 2023
7109ef5
add missing checkout of ogl
greole Jun 5, 2023
fb594a3
ls workspace
greole Jun 5, 2023
4d475ea
ls workspace
greole Jun 5, 2023
87878bb
add FOAM_ETC for OBR
greole Jun 5, 2023
624293c
export paths
greole Jun 5, 2023
e3d072e
add missing ld_paths
greole Jun 6, 2023
7a15658
add missing obr run cmd
greole Jun 6, 2023
11bf0fa
print query
greole Jun 6, 2023
232cef6
rename files with colon
greole Jun 6, 2023
1560b28
rename files with colon
greole Jun 6, 2023
06c594d
add channel.yaml and cavity.yaml
greole Jun 7, 2023
d8402f5
split up workflow file
greole Jun 7, 2023
6cd32a7
fixup
greole Jun 7, 2023
1b9d2ff
fixup
greole Jun 7, 2023
6d2d21e
add missing dependency
greole Jun 7, 2023
83f077a
run apt-get update first
greole Jun 7, 2023
f72c174
copy 0.orig folder
greole Jun 7, 2023
7112347
use different channel cases for different OF versions
greole Jun 7, 2023
7aef5cb
fix env variable
greole Jun 7, 2023
2b616f9
fix env variable
greole Jun 7, 2023
26cf270
use sandbox branch
greole Jun 7, 2023
bf10dbc
fixup dont use solver for momentum
greole Jun 7, 2023
3749e5e
reduce write out, try Read -1 fix
greole Jun 8, 2023
9ab0e0e
Set sparsity pattern size once
greole Jun 9, 2023
bab6025
Fixup
greole Jun 9, 2023
a158e43
fix asym checks
greole Jun 10, 2023
88d1242
add adhoc writeout of matrix
greole Jun 10, 2023
1ac404f
fixup test cases, wait for a better obr way to check success of cases
greole Jun 11, 2023
6308a21
Merge pull request #81 from hpsim/cyclic-fix-asym
greole Jun 11, 2023
9f25992
Fail on serial runs
greole Jun 12, 2023
50142e0
Format file
greole Jun 12, 2023
0d14838
Cache Ginkgo build
greole Jun 12, 2023
aaff267
check for typos
greole Jun 12, 2023
c4cb6c6
fix typos
greole Jun 12, 2023
e6d8d90
fix typos
greole Jun 12, 2023
b5f118e
add config file
greole Jun 12, 2023
17426f2
Merge pull request #82 from hpsim/typos
greole Jun 12, 2023
b743968
fixup typos
greole Jun 12, 2023
6281492
Show folder
greole Jun 12, 2023
01ee29e
Show build folder
greole Jun 12, 2023
2075b7e
Fixup
greole Jun 12, 2023
8117db9
Write cache per GINKGO_CHECKOUT_VERSION
greole Jun 12, 2023
065a4ef
Fix
greole Jun 12, 2023
4603f30
copy libbin content
greole Jun 12, 2023
21fba7b
Dont run the full case
greole Jun 12, 2023
c18f714
format
greole Jun 14, 2023
6ef1277
Improve error message for wrong precond choice
greole Jun 14, 2023
0f5bb2d
fix check if previously compiled gko exists
greole Jun 14, 2023
8368e56
fix check if previously compiled gko exists
greole Jun 14, 2023
121821f
copy installed gko libs
greole Jun 14, 2023
3212a28
Basic implementation
greole Jun 14, 2023
8f7134e
Move export implementation to common
greole Jun 15, 2023
2c0ae60
fixup
greole Jun 18, 2023
c7e8fe3
use interfaceBouCoeffs instead off comunicating them
greole Jun 20, 2023
d1c82bc
unify interface coefficient collection
greole Jun 20, 2023
542314d
fixup
greole Jun 20, 2023
e004554
format
greole Jun 20, 2023
34836ec
Merge pull request #86 from hpsim/improveExport
greole Jun 22, 2023
50baaff
Merge pull request #87 from hpsim/fixupNonLocalOffset
greole Jun 22, 2023
bc6e91a
format
greole Jun 22, 2023
3bc020d
Merge pull request #84 from hpsim/validGPUPreconds
greole Jun 22, 2023
7363007
Force user to set a backend or overwrite
greole Jun 14, 2023
85ae0d4
Throw exception if non compiled backend is selected
greole Jun 14, 2023
347a151
fix build workflow
greole Jun 14, 2023
fee7339
format
greole Jun 14, 2023
b92e557
Merge pull request #85 from hpsim/improveBackendStability
greole Jun 22, 2023
29c1ba2
Merge remote-tracking branch 'origin/gko-1.5.0' into cyclic
greole Jun 26, 2023
6548490
Merge pull request #80 from hpsim/cyclic
greole Jun 26, 2023
5e2ee0b
fix failing workflow
greole Jun 26, 2023
560cee6
Merge pull request #88 from hpsim/fix/workflow
greole Jul 2, 2023
b14a1da
fix IC generation
greole Jul 2, 2023
e97799d
Merge pull request #73 from hpsim/gko-1.5.0
greole Jul 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/bot-base.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/usr/bin/env bash

set -e

API_HEADER="Accept: application/vnd.github.v3+json"
AUTH_HEADER="Authorization: token $GITHUB_TOKEN"

api_get() {
curl -X GET -s -H "${AUTH_HEADER}" -H "${API_HEADER}" "$1"
}

api_post() {
curl -X POST -s -H "${AUTH_HEADER}" -H "${API_HEADER}" "$1" -d "$2"
}

api_patch() {
curl -X PATCH -s -H "${AUTH_HEADER}" -H "${API_HEADER}" "$1" -d "$2"
}

api_delete() {
curl -X DELETE -s -H "${AUTH_HEADER}" -H "${API_HEADER}" "$1"
}
102 changes: 102 additions & 0 deletions .github/bot-pr-base.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#!/usr/bin/env bash

source .github/bot-base.sh

echo -n "Collecting information on triggering PR"
PR_URL=$(jq -r .pull_request.url "$GITHUB_EVENT_PATH")
if [[ "$PR_URL" == "null" ]]; then
# if this was triggered by an issue comment: get PR and commenter
echo -n .............
PR_URL=$(jq -er .issue.pull_request.url "$GITHUB_EVENT_PATH")
echo -n .
USER_LOGIN=$(jq -er ".comment.user.login" "$GITHUB_EVENT_PATH")
echo -n .
USER_URL=$(jq -er ".comment.user.url" "$GITHUB_EVENT_PATH")
echo -n .
else
# else it was triggered by a PR sync: get PR creator
USER_LOGIN=$(jq -er ".pull_request.user.login" "$GITHUB_EVENT_PATH")
echo -n .
USER_URL=$(jq -er ".pull_request.user.url" "$GITHUB_EVENT_PATH")
echo -n .
fi
echo -n .
PR_JSON=$(api_get $PR_URL)
echo -n .
PR_MERGED=$(echo "$PR_JSON" | jq -r .merged)
echo -n .
PR_NUMBER=$(echo "$PR_JSON" | jq -r .number)
echo -n .
ISSUE_URL=$(echo "$PR_JSON" | jq -er ".issue_url")
echo -n .
BASE_REPO=$(echo "$PR_JSON" | jq -er .base.repo.full_name)
echo -n .
BASE_BRANCH=$(echo "$PR_JSON" | jq -er .base.ref)
echo -n .
HEAD_REPO=$(echo "$PR_JSON" | jq -er .head.repo.full_name)
echo -n .
HEAD_BRANCH=$(echo "$PR_JSON" | jq -er .head.ref)
echo .

BASE_URL="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/$BASE_REPO"
HEAD_URL="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/$HEAD_REPO"

JOB_URL="https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"

bot_delete_comments_matching() {
local search_matching="$1"
COMMENTS=$(api_get "$ISSUE_URL/comments" | jq -r '.[] | select((.user.login == "peterBot") and (.body | startswith('"\"$search_matching\""'))) | .url')
for URL in $COMMENTS; do
api_delete "$URL" > /dev/null
done
}

bot_comment() {
api_post "$ISSUE_URL/comments" "{\"body\":\"$1\"}" > /dev/null
}

bot_error() {
echo "$1"
bot_comment "Error: $1"
exit 1
}

bot_get_all_changed_files() {
local pr_url="$1"
local pr_files=""
local page="1"
while true; do
# this api allows 100 items per page
# github action uses `bash -e`. The last empty page will leads jq error, use `|| :` to ignore the error.
local pr_page_files=$(api_get "$pr_url/files?&per_page=100&page=${page}" | jq -er '.[] | select(.status != "removed") | .filename' || :)
if [ "${pr_page_files}" = "" ]; then
break
fi
if [ ! "${pr_files}" = "" ]; then
# add the same new line format as jq output
pr_files="${pr_files}"$'\n'
fi
pr_files="${pr_files}${pr_page_files}"
page=$(( page + 1 ))
done
echo "${pr_files}"
}

# collect info on the user that invoked the bot
echo -n "Collecting information on triggering user"
USER_JSON=$(api_get $USER_URL)
echo .

USER_NAME=$(echo "$USER_JSON" | jq -r ".name")
if [[ "$USER_NAME" == "null" ]]; then
USER_NAME=$USER_LOGIN
fi
USER_EMAIL=$(echo "$USER_JSON" | jq -r ".email")
if [[ "$USER_EMAIL" == "null" ]]; then
USER_EMAIL="[email protected]"
fi
USER_COMBINED="$USER_NAME <$USER_EMAIL>"

if [[ "$PR_MERGED" == "true" ]]; then
bot_error "PR already merged!"
fi
20 changes: 20 additions & 0 deletions .github/bot-pr-format-base.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

source .github/bot-pr-base.sh

echo "Retrieving PR file list"
PR_FILES=$(bot_get_all_changed_files ${PR_URL})
NUM=$(echo "${PR_FILES}" | wc -l)
echo "PR has ${NUM} changed files"

TO_FORMAT="$(echo "$PR_FILES" | grep -E $EXTENSION_REGEX || true)"

git remote add fork "$HEAD_URL"
git fetch fork "$HEAD_BRANCH"

git config user.email "[email protected]"
git config user.name "OGLBot"

# checkout current PR head
LOCAL_BRANCH=format-tmp-$HEAD_BRANCH
git checkout -b $LOCAL_BRANCH fork/$HEAD_BRANCH
21 changes: 21 additions & 0 deletions .github/format.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env bash

cp .github/bot-pr-format-base.sh /tmp
source /tmp/bot-pr-format-base.sh

echo "listing files"
# check for changed files, replace newlines by \n
LIST_FILES=$(git diff --name-only | sed '$!s/$/\\n/' | tr -d '\n')

# format files
clang-format -i $LIST_FILES

echo $LIST_FILES
echo "gonna commit files"
# commit changes if necessary
if [[ "$LIST_FILES" != "" ]]; then
git commit -a -m "Format files

Co-authored-by: $USER_COMBINED"
git push fork "$LOCAL_BRANCH:$HEAD_BRANCH" 2>&1 || bot_error "Cannot push formatted branch, are edits for maintainers allowed?"
fi
149 changes: 0 additions & 149 deletions .github/workflows/build-esi.yml

This file was deleted.

Loading