Permalink
Browse files

minor parsec-related cleanup of cmake build and documentation

  • Loading branch information...
evaleev committed Jun 17, 2016
1 parent bbdafad commit 3476951437d3ebdec5221a1ab17a7b44425c5cfc
Showing with 4 additions and 10 deletions.
  1. +2 −3 CMakeLists.txt
  2. +1 −1 README_TESSE.md
  3. +1 −1 external/parsec.cmake
  4. +0 −5 src/madness/world/CMakeLists.txt
View
@@ -60,10 +60,10 @@ option(ENABLE_LIBXC "Enables use of the libxc library of density functionals" ON
option(ENABLE_PAPI "Enables use of PAPI" OFF)
option(ENABLE_TBB "Enables use of Intel Thread Building Blocks (TBB) as the task scheduler" OFF)
option(ENABLE_PARSEC "Enables use of Intel Thread Building Blocks (TBB) as the task scheduler" ON)
option(ENABLE_PARSEC "Enables use of PaRSEC as the task scheduler" ON)
if(ENABLE_PARSEC)
if(ENABLE_TBB)
message(FATAK_ERROR "TBB and PaRSEC cannot be both enabled.")
message(FATAL_ERROR "TBB and PaRSEC cannot be both enabled.")
endif(ENABLE_TBB)
endif(ENABLE_PARSEC)
@@ -481,7 +481,6 @@ if(GDB_EXECUTABLE)
message(STATUS "Found gdb: ${GDB_EXECUTABLE}")
endif()
find_package(PythonInterp)
find_package(PARSEC)
# Check for external dependencies ==============================================
add_custom_target(External)
View
@@ -25,7 +25,7 @@
* Configuring PaRSEC should go smoothly. In the context of TESSE, it is necessary to produce shared libraries and to force the installation of the PaRSEC development headers. As a hint, if you want a debug build add ```-DCMAKE_BUILD_TYPE=Debug`` before the ```../```.
```shell
cmake -G 'Unix Makefiles' -DBUILD_SHARED_LIBS=ON —DDAGUE_WITH_DEVEL_HEADERS=ON -DHWLOC_DIR=<hwloc-install-prefix> -DDAGUE_DIST_WITH_MPI=OFF -DDAGUE_GPU_WITH_CUDA=OFF -DCMAKE_INSTALL_PREFIX:PATH=${TESSE_DIR}/install -DBUILD_DPLASMA=OFF ../
cmake -G 'Unix Makefiles' -DBUILD_SHARED_LIBS=ON —DDAGUE_WITH_DEVEL_HEADERS=ON -DHWLOC_DIR=<hwloc-install-prefix> -DDAGUE_DIST_WITH_MPI=ON -DDAGUE_GPU_WITH_CUDA=OFF -DCMAKE_INSTALL_PREFIX:PATH=${TESSE_DIR}/install -DBUILD_DPLASMA=OFF ../
```
PaRSEC will complain about missing BLAS libraries, but for the purpose of TESSE we don’t need them. Take a careful look at the output, to make sure the important pieces are indeed correctly found. Look for HWLOC and MPI at a minimum, CUDA if you need GPU support. It is also important to have support for atomic operations (especially 128 bits, such a double CAS to prevent ABA issues).
View
@@ -1,5 +1,5 @@
if(ENABLE_PARSEC)
find_package(PARSEC)
find_package(PARSEC REQUIRED)
if(PARSEC_FOUND)
set(HAVE_PARSEC 1)
@@ -62,10 +62,6 @@ if(TBB_FOUND)
endif()
if(PARSEC_FOUND)
target_include_directories(MADworld PUBLIC ${PARSEC_INCLUDE_DIRS})
# if(TBB_USE_DEBUG AND TBB_LIBRARIES_DEBUG)
# target_compile_definitions(MADworld PUBLIC "${TBB_COMPILE_FLAGS_DEBUG}")
# target_link_libraries(MADworld PUBLIC ${TBB_LIBRARIES_DEBUG})
# else()
target_link_libraries(MADworld PUBLIC ${PARSEC_LIBRARIES} ${PARSEC_LIBRARIES_DEP})
# convert library directories list to linker flags
set(_parsec_libdir_flags "")
@@ -74,7 +70,6 @@ if(PARSEC_FOUND)
endforeach()
set(PARSEC_LIBRARY_DIRS_DEP_FLAGS "${_parsec_libdir_flags}" CACHE INTERNAL "PARSEC(+deps) library directories as linker flag list")
target_link_libraries(MADworld PUBLIC ${PARSEC_LIBRARY_DIRS_DEP_FLAGS})
# endif()
endif()
if(MPI_FOUND)
target_include_directories(MADworld PUBLIC ${MPI_INCLUDE_PATH})

0 comments on commit 3476951

Please sign in to comment.