You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LCW: Lightweight Communication Wrapper. The idea is to provide a thin
wrapper layer mimicing the LCI parcelport's infrastructure.
Right now LCW supports the standard MPI, MPI with extensions, and LCI2 backend.
HPX_WITH_PARCELPORT_GASNETBOOL"Enable the GASNET based parcelport."OFF
1308
1349
CATEGORY"Parcelport"
@@ -1435,7 +1476,32 @@ if(HPX_WITH_NETWORKING AND HPX_WITH_PARCELPORT_LCI)
1435
1476
endif()
1436
1477
endif()
1437
1478
1438
-
# External libraries/frameworks used by some of the examples and benchmarks
1479
+
if(HPX_WITH_NETWORKING AND HPX_WITH_PARCELPORT_LCW)
1480
+
# lcw parcelport settings
1481
+
hpx_option(
1482
+
HPX_WITH_PARCELPORT_LCW_ENV
1483
+
STRING
1484
+
"List of environment variables checked to detect LCW (default: MV2_COMM_WORLD_RANK;PMI_RANK;OMPI_COMM_WORLD_SIZE;ALPS_APP_PE;PMIX_RANK;PALS_NODEID;LCT_PMI_FILE_NRANKS)."
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5
+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+
7
+
# FIXME : in the future put it directly inside the cmake directory of the
8
+
# corresponding plugin
9
+
10
+
macro(hpx_setup_lcw)
11
+
# LCW always needs LCI
12
+
include(HPX_SetupLCI)
13
+
hpx_setup_lci()
14
+
15
+
if(NOTTARGET LCW::LCW)
16
+
17
+
# compatibility with older CMake versions
18
+
if(LCW_ROOT ANDNOT Lcw_ROOT)
19
+
set(Lcw_ROOT
20
+
${LCW_ROOT}
21
+
CACHEPATH"LCW base directory"
22
+
)
23
+
unset(LCW_ROOT CACHE)
24
+
endif()
25
+
26
+
if(NOT HPX_WITH_FETCH_LCW)
27
+
find_package(
28
+
LCW
29
+
CONFIG
30
+
REQUIRED
31
+
HINTS
32
+
${Lcw_ROOT}
33
+
$ENV{LCW_ROOT}
34
+
PATH_SUFFIXES
35
+
lib/cmake
36
+
lib64/cmake
37
+
)
38
+
elseif(NOT HPX_FIND_PACKAGE)
39
+
if(FETCHCONTENT_SOURCE_DIR_LCW)
40
+
hpx_info(
41
+
"HPX_WITH_FETCH_LCW=${HPX_WITH_FETCH_LCW}, LCW will be used through CMake's FetchContent and installed alongside HPX (FETCHCONTENT_SOURCE_DIR_LCW=${FETCHCONTENT_SOURCE_DIR_LCW})"
42
+
)
43
+
else()
44
+
hpx_info(
45
+
"HPX_WITH_FETCH_LCW=${HPX_WITH_FETCH_LCW}, LCW will be fetched using CMake's FetchContent and installed alongside HPX (HPX_WITH_LCW_TAG=${HPX_WITH_LCW_TAG})"
0 commit comments