Skip to content

Commit f0e16ec

Browse files
authored
Add hpx instructions
1 parent f6a94c4 commit f0e16ec

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

README.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,41 @@ installed using the following commands:
159159
160160
where ``$GMT_ROOT`` is the directory where you want the library to be installed.
161161

162+
HPX
163+
"""
164+
165+
SHAD uses HPX as backend for commodity clusters. Software prerequisites for HPX
166+
on Linux systems are: compiler, CMake, Boost C++ Libraries, and Portable Hardware
167+
Locality(HWLOC). You can find more details in `HPX Build Recipes <https://stellar-group.github.io/hpx/docs/sphinx/latest/html/manual/building_hpx.html#building-hpx>`_.
168+
169+
It can be installed using the following commands:
170+
171+
.. code-block:: shell
172+
173+
$ git clone https://github.com/STEllAR-GROUP/hpx.git
174+
$ cd hpx
175+
$ git checkout 9a83230605142392c34c81c0902eb5e9ae9bf973
176+
$ mkdir build && cd build
177+
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HPXOOT \
178+
-DHPX_WITH_CXX17=ON \
179+
-DCMAKE_CXX_STANDARD=17 \
180+
-DHPX_USE_CMAKE_CXX_STANDARD=ON \
181+
-DHPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=On \
182+
-DHPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=On \
183+
-DHPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=On \
184+
-DHPX_WITH_PARCELPORT_MPI=ON \
185+
-DHPX_WITH_PARCELPORT_TCP=OFF \
186+
-DHPX_WITH_HWLOC=ON \
187+
-DHPX_WITH_MALLOC=tcmalloc \
188+
-DCMAKE_BUILD_TYPE=Release \
189+
-DHWLOC_ROOT=$HWLOCROOT \
190+
-DTCMALLOC_ROOT=$GPERFTOOLSROOT \
191+
-DBOOST_ROOT=$BOOSTROOT \
192+
193+
$ make -j <SOMETHING_REASONABLE> && make install
194+
195+
where ``$HPXROOT`` is the directory where you want the library to be installed.
196+
162197
Build SHAD
163198
----------
164199

@@ -182,6 +217,8 @@ provide additional backends. Target runtime systems may be specified via the
182217
-DTBB_ROOT=$TBBROOT \
183218
# else if using GMT \
184219
-DGMT_ROOT=$GMTROOT \
220+
# else if using HPX \
221+
-DHPX_DIR=$HPXROOT \
185222
# endif \
186223
-DGTEST_ROOT=$GTESTROOT \
187224
-DGPERFTOOLS_ROOT=$GPERFTOOLSROOT

0 commit comments

Comments
 (0)