Skip to content
Draft
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
99fe0a0
Try 1d block for pack/unpack
msimberg Oct 24, 2025
527d590
Add dumb nccl implementation
msimberg Oct 15, 2025
78879bb
Add back cuda event class
msimberg Oct 24, 2025
f314a1c
Add TODO for nccl in cmake
msimberg Oct 24, 2025
ab0dfd0
Clean up nccl parts
msimberg Oct 24, 2025
4b5833f
Small fix to stream syncing with nccl
msimberg Oct 24, 2025
ee1b851
Update test to disable cpu exchange with nccl
msimberg Oct 24, 2025
186965d
Merge branch 'async-mpi-2' into nccl-2
msimberg Nov 26, 2025
2744fec
Add FindNCCL.cmake
msimberg Nov 26, 2025
618e7eb
Update communication object for nccl integration
msimberg Dec 3, 2025
b7f573d
Update oomph
msimberg Dec 3, 2025
aede6ab
Update oomph
msimberg Dec 18, 2025
38cb29b
Update oomph
msimberg Dec 22, 2025
bacc1a4
Remove debug print
msimberg Dec 22, 2025
fe958f2
Minor cleanup
msimberg Dec 22, 2025
0fc74be
Merge commit 'f7273c2a232a0bb37cf869c9ee33c688387cf41b' into nccl-2
msimberg Dec 22, 2025
49b9bf7
Format files
msimberg Dec 22, 2025
34fc8d0
Update oomph
msimberg Dec 22, 2025
a51de83
Merge remote-tracking branch 'philip-paul-mueller/phimuell__async-mpi…
msimberg Dec 22, 2025
0614d9b
Update oomph
msimberg Dec 22, 2025
dd3257b
Merge remote-tracking branch 'origin/master' into nccl-2
msimberg Dec 22, 2025
83a1c7e
Remove NCCL macros
msimberg Dec 22, 2025
f112e4f
Sync with master
msimberg Dec 22, 2025
15e7c05
Update oomph
msimberg Jan 6, 2026
0d91ac9
Merge remote-tracking branch 'philip-paul-mueller/phimuell__async-mpi…
msimberg Jan 6, 2026
b9f4d55
Make cmake configuration error out if GPU support isn't enabled when …
msimberg Jan 6, 2026
26f4f3e
Remove unused functions in packer
msimberg Jan 6, 2026
baf0dc6
Remove dummy callback todos
msimberg Jan 6, 2026
3f7709f
Small updates
msimberg Jan 6, 2026
d1b41ea
Small fixes to async mode
msimberg Jan 6, 2026
173abd7
Clean up communication object exchange implementations
msimberg Jan 6, 2026
d8c8631
Refactor packing/unpacking etc.
msimberg Jan 7, 2026
9e695c3
More pack/unpack cleanup
msimberg Jan 7, 2026
6367449
Format files
msimberg Jan 7, 2026
606e4d0
Un-disable a test with NCCL
msimberg Jan 7, 2026
ac9f1c1
Minor cleanup
msimberg Jan 7, 2026
4a491fd
Update oomph
msimberg Jan 7, 2026
ffbb066
Update oomph
msimberg Jan 8, 2026
5dee034
Minor formatting, unused variable warnings etc.
msimberg Jan 8, 2026
da0f77c
Fix compilation with hip
msimberg Jan 8, 2026
289a761
Formatting
msimberg Jan 8, 2026
fdcd4ac
Formatting
msimberg Jan 8, 2026
4aaaadf
Merge remote-tracking branch 'philip-paul-mueller/phimuell__async-mpi…
msimberg Jan 8, 2026
993393d
Remove wrong assertion
msimberg Jan 8, 2026
7459c63
Update some tests for NCCL
msimberg Jan 8, 2026
5a65526
Disable more tests with NCCL
msimberg Jan 8, 2026
e6cec86
Merge tag 'v0.5.0' into nccl-2
msimberg Mar 25, 2026
c28a432
Add comment about NCCL PXN to cubed_sphere tests
msimberg Jan 8, 2026
21bb1c0
Fix compilation
msimberg Mar 25, 2026
f5bbf49
Update oomph
msimberg Mar 25, 2026
451c51d
Remove unnecessary find_package(NCCL)
msimberg Mar 25, 2026
2719c94
Add back comment
msimberg Mar 25, 2026
5f6e151
Rethrow exceptions with bare throw
msimberg Mar 25, 2026
793c766
Remove outdated comment
msimberg Mar 25, 2026
ec275a8
Use high priority CUDA streams
msimberg Mar 28, 2026
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
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@ if(GHEX_USE_BUNDLED_OOMPH)
set_target_properties(oomph_libfabric PROPERTIES INSTALL_RPATH "${rpath_origin}")
elseif (GHEX_TRANSPORT_BACKEND STREQUAL "UCX")
set_target_properties(oomph_ucx PROPERTIES INSTALL_RPATH "${rpath_origin}")
elseif (GHEX_TRANSPORT_BACKEND STREQUAL "NCCL")
set_target_properties(oomph_nccl PROPERTIES INSTALL_RPATH "${rpath_origin}")
else()
set_target_properties(oomph_mpi PROPERTIES INSTALL_RPATH "${rpath_origin}")
endif()
Expand Down
14 changes: 12 additions & 2 deletions cmake/ghex_external_dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ endif()
# ---------------------------------------------------------------------
# oomph setup
# ---------------------------------------------------------------------
set(GHEX_TRANSPORT_BACKEND "MPI" CACHE STRING "Choose the backend type: MPI | UCX | LIBFABRIC")
set_property(CACHE GHEX_TRANSPORT_BACKEND PROPERTY STRINGS "MPI" "UCX" "LIBFABRIC")
set(GHEX_TRANSPORT_BACKEND "MPI" CACHE STRING "Choose the backend type: MPI | UCX | LIBFABRIC | NCCL")
set_property(CACHE GHEX_TRANSPORT_BACKEND PROPERTY STRINGS "MPI" "UCX" "LIBFABRIC" "NCCL")
cmake_dependent_option(GHEX_USE_BUNDLED_OOMPH "Use bundled oomph." ON "GHEX_USE_BUNDLED_LIBS" OFF)
if(GHEX_USE_BUNDLED_OOMPH)
set(OOMPH_GIT_SUBMODULE OFF CACHE BOOL "")
Expand All @@ -53,6 +53,11 @@ if(GHEX_USE_BUNDLED_OOMPH)
set(OOMPH_WITH_LIBFABRIC ON CACHE BOOL "Build with LIBFABRIC backend")
elseif(GHEX_TRANSPORT_BACKEND STREQUAL "UCX")
set(OOMPH_WITH_UCX ON CACHE BOOL "Build with UCX backend")
elseif(GHEX_TRANSPORT_BACKEND STREQUAL "NCCL")
set(OOMPH_WITH_NCCL ON CACHE BOOL "Build with NCCL backend")
if(NOT GHEX_USE_GPU)
message(FATAL_ERROR "GHEX_TRANSPORT_BACKEND=NCCL requires GHEX_USE_GPU=ON but GHEX_USE_GPU=OFF")
endif()
endif()
if(GHEX_USE_GPU)
set(HWMALLOC_ENABLE_DEVICE ON CACHE BOOL "True if GPU support shall be enabled")
Expand All @@ -70,6 +75,9 @@ if(GHEX_USE_BUNDLED_OOMPH)
if(TARGET oomph_ucx)
add_library(oomph::oomph_ucx ALIAS oomph_ucx)
endif()
if(TARGET oomph_nccl)
add_library(oomph::oomph_nccl ALIAS oomph_nccl)
endif()
if(TARGET oomph_libfabric)
add_library(oomph::oomph_libfabric ALIAS oomph_libfabric)
endif()
Expand All @@ -82,6 +90,8 @@ function(ghex_link_to_oomph target)
target_link_libraries(${target} PRIVATE oomph::oomph_libfabric)
elseif (GHEX_TRANSPORT_BACKEND STREQUAL "UCX")
target_link_libraries(${target} PRIVATE oomph::oomph_ucx)
elseif (GHEX_TRANSPORT_BACKEND STREQUAL "NCCL")
target_link_libraries(${target} PRIVATE oomph::oomph_nccl)
else()
target_link_libraries(${target} PRIVATE oomph::oomph_mpi)
endif()
Expand Down
Loading
Loading