diff --git a/README.rst b/README.rst index f0f41fc7..cd514dc9 100644 --- a/README.rst +++ b/README.rst @@ -159,6 +159,41 @@ installed using the following commands: where ``$GMT_ROOT`` is the directory where you want the library to be installed. +HPX +""" + +SHAD uses HPX as backend for commodity clusters. Software prerequisites for HPX +on Linux systems are: compiler, CMake, Boost C++ Libraries, and Portable Hardware +Locality(HWLOC). You can find more details in `HPX Build Recipes `_. + +It can be installed using the following commands: + +.. code-block:: shell + + $ git clone https://github.com/STEllAR-GROUP/hpx.git + $ cd hpx + $ git checkout 9a83230605142392c34c81c0902eb5e9ae9bf973 + $ mkdir build && cd build + $ cmake .. -DCMAKE_INSTALL_PREFIX=$HPXOOT \ + -DHPX_WITH_CXX17=ON \ + -DCMAKE_CXX_STANDARD=17 \ + -DHPX_USE_CMAKE_CXX_STANDARD=ON \ + -DHPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=On \ + -DHPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=On \ + -DHPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=On \ + -DHPX_WITH_PARCELPORT_MPI=ON \ + -DHPX_WITH_PARCELPORT_TCP=OFF \ + -DHPX_WITH_HWLOC=ON \ + -DHPX_WITH_MALLOC=tcmalloc \ + -DCMAKE_BUILD_TYPE=Release \ + -DHWLOC_ROOT=$HWLOCROOT \ + -DTCMALLOC_ROOT=$GPERFTOOLSROOT \ + -DBOOST_ROOT=$BOOSTROOT \ + + $ make -j && make install + +where ``$HPXROOT`` is the directory where you want the library to be installed. + Build SHAD ---------- @@ -182,6 +217,8 @@ provide additional backends. Target runtime systems may be specified via the -DTBB_ROOT=$TBBROOT \ # else if using GMT \ -DGMT_ROOT=$GMTROOT \ + # else if using HPX \ + -DHPX_DIR=$HPXROOT \ # endif \ -DGTEST_ROOT=$GTESTROOT \ -DGPERFTOOLS_ROOT=$GPERFTOOLSROOT