Skip to content

Commit 8571889

Browse files
authored
Add HIP init before MPI init for MPI issue workaround on Frontier. (#62)
1 parent d3c1aa4 commit 8571889

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

app/exawind/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ target_link_libraries(${EXAWIND_EXE_NAME} PRIVATE
77

88
target_include_directories(${EXAWIND_EXE_NAME} SYSTEM PRIVATE ${YAML_CPP_INCLUDE_DIR})
99

10+
if(EXAWIND_ENABLE_ROCM)
11+
target_compile_definitions(${EXAWIND_EXE_NAME} PRIVATE EXAWIND_ENABLE_ROCM)
12+
endif()
13+
1014
if(CXX_FILESYSTEM_HAVE_FS)
1115
target_compile_definitions(${EXAWIND_EXE_NAME} PRIVATE EXAWIND_HAS_STD_FILESYSTEM)
1216
target_link_libraries(${EXAWIND_EXE_NAME} PRIVATE

app/exawind/exawind.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111
#include "yaml-cpp/yaml.h"
1212
#include "tioga.h"
1313

14+
// Workaround for MPI issue on OLCF Frontier machine
15+
#ifdef EXAWIND_ENABLE_ROCM
16+
#include <hip/hip_runtime.h>
17+
#endif
18+
1419
static std::string usage(std::string name)
1520
{
1621
return "usage: " + name +
@@ -36,6 +41,10 @@ replace_extension(const std::string& filepath, const std::string& newExt)
3641

3742
int main(int argc, char** argv)
3843
{
44+
// Workaround for MPI issue on OLCF Frontier machine
45+
#ifdef EXAWIND_ENABLE_ROCM
46+
hipInit(0);
47+
#endif
3948
MPI_Init(&argc, &argv);
4049
int psize, prank;
4150
MPI_Comm_size(MPI_COMM_WORLD, &psize);

0 commit comments

Comments
 (0)