Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
2cecf1a
ENH: Adding example for mesh decomposition WIP
jacob-moore22 Oct 22, 2025
c2e3ce5
ENH: Adding mesh decomposition example WIP
jacob-moore22 Oct 22, 2025
b881475
ENH: Adding mesh decomposition example WIP, Initial decomposition nea…
jacob-moore22 Oct 23, 2025
edb9dc4
ENH: Tidying up initial decomposition
jacob-moore22 Oct 27, 2025
3f30bcd
ENH: PTScotch now partitioning mesh, WIP
jacob-moore22 Oct 27, 2025
6145513
DOC: Adding documentation and comments for future Jacob, WIP
jacob-moore22 Oct 27, 2025
91b3b8d
ENH: Debugging repartition, nodal coordinates seem off
jacob-moore22 Oct 27, 2025
f40c187
ENH: It works
jacob-moore22 Oct 27, 2025
35d0348
ENH: Swapping to binary search and adding timers
jacob-moore22 Oct 29, 2025
e20d819
ENH: Adding ghost elements WIP
jacob-moore22 Oct 29, 2025
659d72d
ENH: Adding ghost elements and nodes
jacob-moore22 Oct 31, 2025
717271f
ENH: Adding vtu output, and tidy up
jacob-moore22 Oct 31, 2025
761faef
ENH: Cleaning up, WIP
jacob-moore22 Oct 31, 2025
bdd0c19
ENH: Tidying up main
jacob-moore22 Oct 31, 2025
3ac20b2
ENH: Developing communication plan, WIP
jacob-moore22 Nov 3, 2025
285460b
ENH: Creating MPI types, WIP
jacob-moore22 Nov 3, 2025
eb37793
ENH: Testing Neighbor comms, WIP
jacob-moore22 Nov 4, 2025
0fe9c3d
ENH: Working on defining the communication plan for MPI types
jacob-moore22 Nov 5, 2025
276dba7
ENH: Fleshing out MPI type and communication plan
jacob-moore22 Nov 5, 2025
c4fac4d
ENH: Handling comms via data structure
jacob-moore22 Nov 5, 2025
0c26ed0
ENH: Testing multi-dimensional MPICArrayKokkos types, working
jacob-moore22 Nov 6, 2025
0ed9c81
STYLE: Renaming a thing and headed home
jacob-moore22 Nov 6, 2025
4447a5c
ENH: Tidying up
jacob-moore22 Nov 7, 2025
588fec5
ENH: Tidying up
jacob-moore22 Nov 7, 2025
ba6a998
ENH: Attempting to simplify building ghost and having a bad time
jacob-moore22 Nov 7, 2025
8a7de21
DOC: Improving documentation of ghost
jacob-moore22 Nov 7, 2025
accd023
STYLE: Tidying up, and testing with vtk read mesh
jacob-moore22 Nov 10, 2025
4671064
BUILD: Getting everything building with new examples
jacob-moore22 Nov 10, 2025
70a30cf
ENH: Working through build with examples
jacob-moore22 Nov 10, 2025
0cd3620
ENH: Moving mpi type to base MATAR
jacob-moore22 Nov 10, 2025
9748087
ENH: Pulling out build ghost function
jacob-moore22 Nov 17, 2025
20261c9
ENH: WIP, adding nodal comms.
jacob-moore22 Nov 17, 2025
9c1e9b6
BUG: Debugging nodal comms, WIP
jacob-moore22 Nov 18, 2025
6aa871e
BUG: Debugging nodal send/recv WIP, working for 2x1 mesh
jacob-moore22 Nov 19, 2025
f7e350d
ENH: Node send ids are working, now to fix recv
jacob-moore22 Nov 19, 2025
72e0f5b
ENH: send/recv match, need to be swapped to local ids
jacob-moore22 Nov 19, 2025
6332734
ENH: Nodal comms working
jacob-moore22 Nov 20, 2025
524e950
STYLE: Tidying up
jacob-moore22 Nov 21, 2025
1e69ffb
ENH: Parallelize mesh builder, tidy
jacob-moore22 Nov 21, 2025
b0a1924
STYLE: Tidying up, and reducing memory overhead
jacob-moore22 Nov 21, 2025
052aa7c
ENH: Adding GPU safety, WIP
jacob-moore22 Nov 24, 2025
4cc2a70
BUG: Chasing CUDA build and run bugs
jacob-moore22 Nov 24, 2025
6ac9606
BUG: Fixed GPU build, broke node comms, WIP
jacob-moore22 Nov 24, 2025
9217adb
BUG: Chasing nodal comms bug
jacob-moore22 Nov 24, 2025
e8602a2
Revert "BUG: Chasing nodal comms bug"
jacob-moore22 Nov 24, 2025
c7f500a
BUG: Chasing cuda bug still
jacob-moore22 Nov 24, 2025
1953d5d
BUG: Chasing cuda+MPI bug
jacob-moore22 Nov 24, 2025
1a3e45a
ENH: CUDA builds working
jacob-moore22 Nov 25, 2025
614bf4c
ENH: Tidying up
jacob-moore22 Nov 25, 2025
6156a6b
BUG: Correct default build script behavior
jacob-moore22 Nov 25, 2025
7dee53a
ENH: Update minimum cmake version
jacob-moore22 Nov 25, 2025
e643d94
ENH: Missing cmake update
jacob-moore22 Nov 25, 2025
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ heffte/
docs_doxygen/
docs_sphinx/
tutorial/getting_started/Example0/build_*
tutorial/getting_started/Example0/install*
tutorial/getting_started/Example0/install*
examples/mesh_decomp/lib/*
2 changes: 1 addition & 1 deletion benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.3)
cmake_minimum_required(VERSION 3.5)

project (matarbenchmark)

Expand Down
16 changes: 10 additions & 6 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@ if (KOKKOS)
if (MPI)
include_directories(laplaceMPI)
add_subdirectory(laplaceMPI)

include_directories(mesh_decomp)
add_subdirectory(mesh_decomp)
endif()

endif()
Expand Down Expand Up @@ -191,11 +194,12 @@ add_subdirectory(sparsetests)
include_directories(test_rocm)
add_subdirectory(test_rocm)

#include_directories(phaseField/srcKokkosVerbose)
#add_subdirectory(phaseField/srcKokkosVerbose)

#include_directories(phaseField/srcMacros)
#add_subdirectory(phaseField/srcMacros)
# include_directories(phaseField/srcKokkosVerbose)
# add_subdirectory(phaseField/srcKokkosVerbose)

# include_directories(phaseField/srcMacros)
# add_subdirectory(phaseField/srcMacros)

#include_directories(phaseFieldMPI)
#add_subdirectory(phaseFieldMPI)
# include_directories(phaseFieldMPI)
# add_subdirectory(phaseFieldMPI)
2 changes: 1 addition & 1 deletion examples/gArrayofgArrays/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.3)
cmake_minimum_required(VERSION 3.5)

find_package(Matar REQUIRED)

Expand Down
2 changes: 1 addition & 1 deletion examples/halfspace_cooling/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.3)
cmake_minimum_required(VERSION 3.5)

find_package(Matar REQUIRED)

Expand Down
2 changes: 1 addition & 1 deletion examples/laplace/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.3)
cmake_minimum_required(VERSION 3.5)

find_package(Matar REQUIRED)

Expand Down
2 changes: 1 addition & 1 deletion examples/laplaceMPI/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.3)
cmake_minimum_required(VERSION 3.5)

if (KOKKOS)
#find_package(Kokkos REQUIRED) #new
Expand Down
45 changes: 45 additions & 0 deletions examples/mesh_decomp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
cmake_minimum_required(VERSION 3.5)

# Find MPI
find_package(MPI REQUIRED)
add_definitions(-DHAVE_MPI=1)

find_package(Matar REQUIRED)

execute_process(
COMMAND ${CMAKE_CURRENT_LIST_DIR}/install_ptscotch.sh
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE INSTALL_PTSCOTCH_RESULT
)

if(NOT INSTALL_PTSCOTCH_RESULT EQUAL 0)
message(FATAL_ERROR "Failed to install PT-Scotch by running install_ptscotch.sh")
endif()


if (KOKKOS)
#find_package(Kokkos REQUIRED) #new

add_executable(mesh_decomp mesh_decomp.cpp)

add_definitions(-DHAVE_KOKKOS=1)

# Add include directories for MPI and Scotch/PT-Scotch
target_include_directories(mesh_decomp PRIVATE ${MPI_CXX_INCLUDE_PATH} ${CMAKE_CURRENT_LIST_DIR}/lib/scotch/build/src/include)

# Link libraries - order matters! libptscotch depends on libscotch
# Use -Wl,--whole-archive to ensure all symbols are included from static libraries
# Note: Only link libptscotcherr.a (not libscotcherr.a) to avoid multiple definitions
target_link_libraries(mesh_decomp ${LINKING_LIBRARIES} MPI::MPI_CXX
-Wl,--whole-archive
${CMAKE_CURRENT_LIST_DIR}/lib/scotch/build/lib/libscotch.a
-Wl,--no-whole-archive
-Wl,--whole-archive
${CMAKE_CURRENT_LIST_DIR}/lib/scotch/build/lib/libptscotcherr.a
${CMAKE_CURRENT_LIST_DIR}/lib/scotch/build/lib/libptscotch.a
-Wl,--no-whole-archive
-lz # zlib for gzip compression
-lbz2 # bzip2 library
-llzma # xz compression library
)
endif()
Loading