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

Refactor/interface as combination #115

Open
wants to merge 92 commits into
base: stack/ogl_0.6
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
c402f6f
treat local_mtx and non_local_mtx as single interface mtx
greole Mar 12, 2024
8abaa11
update remode branch
greole Mar 12, 2024
2488c0c
move to FetchContent Build of OF
greole Mar 8, 2024
a489a11
add a version that compiles with recent cmake
greole Mar 8, 2024
f6f7181
add in matrix, and create dist_mtx with Combination
greole Mar 13, 2024
ba17e2f
add basic custom matrix implementation
greole Mar 13, 2024
6a9f123
add missing MatrixWrapper files
greole Mar 13, 2024
cb4efb0
pass ctr arguments
greole Mar 13, 2024
8778b1d
add interface spans
greole Mar 13, 2024
664573f
add combination implementation
greole Mar 14, 2024
86ce030
wip clang build asan
greole Mar 17, 2024
1b32e3e
enhance workflow
greole Mar 17, 2024
a58082d
add compiler to workflow name
greole Mar 17, 2024
f58fb3c
fix format
greole Mar 17, 2024
d03980a
change required version
greole Mar 17, 2024
ae27b65
fix required version
greole Mar 17, 2024
364a990
format
greole Mar 17, 2024
3602230
fixup! Presets
greole Mar 17, 2024
3c42567
fixup! Presets
greole Mar 17, 2024
fabe2c1
add sanitizer
greole Mar 17, 2024
8cbdbfb
fix const correctness, formating, pointer issue
greole Mar 18, 2024
f12634b
remove commented code
greole Apr 3, 2024
a5bc4d5
add interface spans
greole Apr 4, 2024
5b7bd4f
fixup! brokin idx
greole Apr 4, 2024
7eea220
add implementation for non local interfaces
greole Apr 4, 2024
560ae32
add missing ginkgo dependency
greole Apr 4, 2024
d025ea4
remove sanitizer flags in favour of seperate cmake files
greole Apr 9, 2024
569694c
add non_local_interfaces
greole Apr 9, 2024
aa1b445
fix span bounds
greole Apr 10, 2024
05340a4
fix multi interface case
greole Apr 11, 2024
f2e3a24
WIP DistMatrixWrapper
greole Apr 12, 2024
8a4b72e
add basic RepartDistMatrix implementation
greole Apr 12, 2024
5e1c769
Fixup issuse with RepartDistMatrix implementation
greole Apr 15, 2024
e880129
Rename files
greole Apr 15, 2024
4af6f25
fixup! path
greole Apr 15, 2024
ffa8037
WIP refactor CSRMatrix
greole Apr 15, 2024
f864494
WIP refactor CSRMatrix
greole Apr 16, 2024
d1d53b7
WIP refactor CSRMatrix
greole Apr 16, 2024
70c43bf
WIP refactor CSRMatrix
greole Apr 16, 2024
4fa2fe6
WIP refactor CSRMatrix
greole Apr 17, 2024
59a89a5
WIP refactor CSRMatrix
greole Apr 18, 2024
5408ec3
WIP combination adoptation
greole Apr 22, 2024
290b333
WIP repartitioning
greole Apr 24, 2024
a0513a7
move OpenFOAM detection to separate cmake file
greole Apr 24, 2024
772947f
fix mac related compilation issues
greole Apr 24, 2024
d5ec320
Implement repartitioning of comm pattern
greole May 2, 2024
3b3551d
wip repartition sparsity
greole May 9, 2024
0b38189
fixup! size of non_local_matrix cols
greole May 15, 2024
87afdc9
wip repartition sparsity
greole May 17, 2024
fff32cf
clean up
greole May 18, 2024
32d8cfc
copy and reorder ldu, fix compressed non-local cols
greole May 23, 2024
e933ad1
refactor start dedicated repartitioner class
greole May 24, 2024
13cea05
add vector repartitioning, fix ldu consecutive
greole May 25, 2024
7249d4e
add a lot of output, trying to random failures
greole May 26, 2024
dc2619a
fix zero combination matrix issue, refactor repartitioner, fix repart…
greole May 29, 2024
ee636f5
Replace std::reduce by std::accumulate
greole May 29, 2024
dbd0a04
Add more const qualifiers
greole May 29, 2024
d0373e8
Pass executor around shared_ptr<const Exec>
greole May 29, 2024
228d856
fix length issue for reordering, prepare update refactor
greole May 30, 2024
9363ba1
move update to separate function
greole May 30, 2024
0c4b04e
update interface values
greole Jun 2, 2024
d0cd47e
scale interface values with -1
greole Jun 2, 2024
b1ed343
a seemingly working cpu version
greole Jun 3, 2024
b5ea6cb
fixup!
greole Jun 3, 2024
5392242
quickfix single comm partner case
greole Jun 3, 2024
b77cfe8
call update, use shared_ptr for CommPattern
greole Jun 4, 2024
e41a356
add a early return if no comm partners are left
greole Jun 4, 2024
7b30e2d
clean up
greole Jun 4, 2024
0e8843a
implement copy back, some clean up, modified non local row compress
greole Jun 5, 2024
3892b5d
dont store executor handler as member in device persistent class
greole Jun 6, 2024
1147e52
clean up, use swap to refresh host_A
greole Jun 6, 2024
8b2cfd2
Use explicit update_from instead of swap
greole Jun 6, 2024
4c860e6
clean up
greole Jun 6, 2024
84827e0
add DistributedMatrix copy, use device exec for communication
greole Jun 7, 2024
c8fbcf0
add debug message
greole Jun 7, 2024
2d9597f
add debug message
greole Jun 7, 2024
d465b20
add debug message
greole Jun 7, 2024
7fd372b
add debug message
greole Jun 7, 2024
31a9f7c
add debug message
greole Jun 7, 2024
43e802c
fix gathered_target_id issue
greole Jun 8, 2024
5149568
cleanup
greole Jun 8, 2024
05a5d8c
WIP fix intel
greole Jun 11, 2024
630b0c4
rebase to gko.1.8.0
greole Jun 11, 2024
6380900
Merge branch 'refactor/interface_as_combination' of github.com:hpsim/…
greole Jun 11, 2024
e582bf1
WIP fix intel
greole Jun 11, 2024
0251728
clean up add copy ctr
greole Jun 12, 2024
cfe0e0d
Merge remote-tracking branch 'origin/refact/interface-intel' into ref…
greole Jun 12, 2024
6ec930a
fixup
greole Jun 12, 2024
3f6252a
fixup!
greole Jun 12, 2024
43ca454
fixup! communication of ranks-per-gpu == 1
greole Jun 18, 2024
c45397f
WIP repartition to single device for num_ranks == 0
greole Jun 24, 2024
aafb47a
fixup
greole Jun 24, 2024
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
Prev Previous commit
Next Next commit
enhance workflow
greole committed Jun 10, 2024
commit 1b32e3e9b02091022d9899aebba3460890a0bb08
17 changes: 3 additions & 14 deletions .github/workflows/build-foam.yml
Original file line number Diff line number Diff line change
@@ -83,25 +83,14 @@ jobs:
run: |
source /root/OpenFOAM/${{matrix.OF.path}}/etc/bashrc
mkdir -p ${{matrix.OF.foam_user_libbin}}
mkdir -p build
cd build
[ -d "/github/home/$GINKGO_CHECKOUT_VERSION" ] && cp -rp /github/home/$GINKGO_CHECKOUT_VERSION third_party
cmake -GNinja -DOGL_ALLOW_REFERENCE_ONLY=On -DOGL_BUILD_UNITTEST=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=${{matrix.OF.foam_user_libbin}} ..
# [ -d "/github/home/$GINKGO_CHECKOUT_VERSION" ] && cp -rp /github/home/$GINKGO_CHECKOUT_VERSION third_party
CC=${{matrix.OF.CC }} CXX=${{matrix.OF.CXX}} cmake --preset ninja-cpuonly-release -DOGL_BUILD_UNITTEST=ON

- name: Build OGL
working-directory: ${{github.workspace}}/build
run: |
source /root/OpenFOAM/${{matrix.OF.path}}/etc/bashrc
cmake --build . --config $BUILD_TYPE

- name: Install OGL
working-directory: ${{github.workspace}}
run: |
source /root/OpenFOAM/${{matrix.OF.path}}/etc/bashrc
cmake --install ./build
ls $FOAM_USER_LIBBIN
ls ${{matrix.OF.foam_user_libbin}}

cmake --build --preset ninja-cpuonly-release --target install

- name: Check folders
working-directory: ${{github.workspace}}
18 changes: 16 additions & 2 deletions .github/workflows/test_matrix.json
Original file line number Diff line number Diff line change
@@ -6,15 +6,29 @@
"path": "openfoam",
"repo": "https://develop.openfoam.com/Development/openfoam.git",
"cyclic_case": "periodicPlaneChannel" ,
"foam_user_libbin": "/github/home/OpenFOAM/user-v2312/platforms/linux64GccDPInt32Opt/lib/"
"foam_user_libbin": "/github/home/OpenFOAM/user-v2312/platforms/linux64GccDPInt32Opt/lib/",
"CC": "gcc",
"CXX": "g++"
},
{
"version": "v2212",
"fork": "ESI",
"path": "openfoam",
"repo": "https://develop.openfoam.com/Development/openfoam.git",
"cyclic_case": "periodicPlaneChannel" ,
"foam_user_libbin": "/github/home/OpenFOAM/user-v2312/platforms/linux64GccDPInt32Opt/lib/",
"CC": "clang",
"CXX": "clang++"
},
{
"version": "10",
"fork": "Foundation",
"path": "OpenFOAM-10",
"repo": "https://github.com/OpenFOAM/OpenFOAM-10.git",
"cyclic_case": "channel395" ,
"foam_user_libbin": "/github/home/OpenFOAM/user-10/platforms/linux64GccDPInt32Opt/lib"
"foam_user_libbin": "/github/home/OpenFOAM/user-10/platforms/linux64GccDPInt32Opt/lib",
"CC": "gcc",
"CXX": "g++"
}
]
}
43 changes: 24 additions & 19 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -8,53 +8,58 @@
"configurePresets": [
{
"name": "default",
"hidden": true,
"displayName": "Default Config",
"description": "Default build using Ninja generator",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/Release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "$env{FOAM_USER_LIBBIN}/.."
}
},
{
"name": "debug",
"hidden": true,
"displayName": "Default Config",
"description": "Default build using Ninja generator",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/Debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_INSTALL_PREFIX": "$env{FOAM_USER_LIBBIN}/.."
}
},
{
"name": "ninja-cpuonly-debug",
"inherits": "debug",
"displayName": "No GPU, Ninja",
"description": "Release build without GPU support using Ninja Multi-Config generator",
"generator": "Ninja Multi-Config",
"binaryDir": "${sourceDir}/build/DebugCPUOnly",
"name": "ninja",
"hidden": true,
"displayName": "Default Config",
"description": "Default build using Ninja generator",
"generator": "Ninja"
},
{
"name": "cpuonly",
"hidden": true,
"displayName": "Default Config",
"description": "Default build using Ninja generator",
"generator": "Ninja",
"cacheVariables": {
"OGL_ALLOW_REFERENCE_ONLY": {
"type": "BOOL",
"value": "ON"
}
}
},
{
"name": "ninja-cpuonly-debug",
"inherits": ["debug","cpuonly", "ninja"],
"displayName": "No GPU, Ninja",
"description": "Debug build without GPU support using Ninja Multi-Config generator",
"binaryDir": "${sourceDir}/build/DebugCPUOnly"
},
{
"name": "ninja-cpuonly-release",
"inherits": "default",
"inherits": ["release","cpuonly", "ninja"],
"displayName": "No GPU, Ninja",
"description": "Release build without GPU support using Ninja Multi-Config generator",
"generator": "Ninja Multi-Config",
"binaryDir": "${sourceDir}/build/ReleaseCPUOnly",
"cacheVariables": {
"OGL_ALLOW_REFERENCE_ONLY": {
"type": "BOOL",
"value": "ON"
}
}
"description": "Debug build without GPU support using Ninja Multi-Config generator",
"binaryDir": "${sourceDir}/build/ReleaseCPUOnly"
},
{
"name": "ninja-cuda-release",