From 5f227fc17589c0870fa490593cf5b460f1f71791 Mon Sep 17 00:00:00 2001 From: Pinku Surana Date: Fri, 8 Nov 2024 08:36:30 -0800 Subject: [PATCH] Add support for OFI conduit in GASNet GASNet's OFI conduit is used for the Slingshot network on Perlmutter and Frontier. It takes an additional configuration, GASNet_SYSTEM, configured for either slingshot10 or slingshot11. --- cmake/legion.cmake | 1 + config/config.inc | 7 +++++++ config/config.linux | 3 +++ 3 files changed, 11 insertions(+) diff --git a/cmake/legion.cmake b/cmake/legion.cmake index 2afb507d3b..adcf5618f8 100644 --- a/cmake/legion.cmake +++ b/cmake/legion.cmake @@ -132,6 +132,7 @@ else() set(Legion_EMBED_GASNet_VERSION "GASNet-2022.3.0" CACHE STRING "GASNet version") set(Legion_NETWORKS "gasnetex" CACHE STRING "GASNet conduit") set(GASNet_CONDUIT ${FF_GASNET_CONDUIT}) + set(GASNet_SYSTEM ${FF_GASNET_SYSTEM}) elseif("${FF_LEGION_NETWORKS}" STREQUAL "ucx") set(ucx_ROOT ${UCX_PATH}/lib/cmake) message(STATUS "Find ucx: ${UCX_PATH}") diff --git a/config/config.inc b/config/config.inc index 011fe890fb..b4356bf078 100644 --- a/config/config.inc +++ b/config/config.inc @@ -118,6 +118,13 @@ if [ "$FF_LEGION_NETWORKS" = "gasnet" ]; then SET_LEGION_NETWORKS+=" -DFF_GASNET_CONDUIT=mpi" elif [ "$FF_GASNET_CONDUIT" = "udp" ]; then SET_LEGION_NETWORKS+=" -DFF_GASNET_CONDUIT=udp" + elif [ "$FF_GASNET_CONDUIT" = "ofi" ]; then + SET_LEGION_NETWORKS+=" -DFF_GASNET_CONDUIT=ofi" + if [ "$FF_GASNET_SYSTEM" = "slingshot11" ]; then + SET_LEGION_NETWORKS+=" -DFF_GASNET_SYSTEM=slingshot11" + elif [ "$FF_GASNET_SYSTEM" = "slingshot10" ]; then + SET_LEGION_NETWORKS+=" -DFF_GASNET_SYSTEM=slingshot10" + fi fi elif [ "$FF_LEGION_NETWORKS" = "ucx" ]; then SET_LEGION_NETWORKS+=" -DFF_LEGION_NETWORKS=ucx" diff --git a/config/config.linux b/config/config.linux index 09976cfa03..aae7901494 100755 --- a/config/config.linux +++ b/config/config.linux @@ -61,6 +61,9 @@ FF_LEGION_NETWORKS=${FF_LEGION_NETWORKS:-} # select GASNET conduit FF_GASNET_CONDUIT=${FF_GASNET_CONDUIT:-ibv} +# select GASNET system (usually with OFI conduit) +FF_GASNET_SYSTEM=${FF_GASNET_SYSTEM:-slingshot11} + # set UCX dir if Legion networks is set to ucx UCX_DIR=${UCX_DIR:-""}