Loading CMakeLists.txt +0 −31 Original line number Diff line number Diff line Loading @@ -314,35 +314,6 @@ if( ${WITH_GMP} ) endif() endif() #### # Test for PETSc if( BUILD_MPI ) FIND_PATH( PETSC_INCLUDE_DIR petsc.h /usr/include/petsc ${PETSC_DIR}/${PETSC_ARCH}/include ${PETSC_DIR}/include DOC "PETSC headers." ) if( ${PETSC_INCLUDE_DIR} STREQUAL "PETSC_INCLUDE_DIR-NOTFOUND" ) message( "PETSC not found." ) else() message( "PETSC headers found -- ${PETSC_INCLUDE_DIR}" ) FIND_LIBRARY(PETSC_LIBRARY petsc ${PETSC_INCLUDE_DIR}/../lib /usr/local/lib /usr/lib) if( PETSC_LIBRARY ) #string( REPLACE ";" " " MPI_LIBRARIES "${MPI_CXX_LIBRARIES}" ) #set( PETSC_LIBRARY "${MPI_LIBRARIES} ${PETSC_LIBRARY}") message( "PETSC library found -- ${PETSC_LIBRARY}") #list( GET MPI_CXX_INCLUDE_PATH 0 MPI_CXX_PATH ) #set(PETSC_CXX_FLAGS "-DHAVE_PETSC -I${PETSC_INCLUDE_DIR} -DHAVE_MPI -I${MPI_CXX_PATH}") set(PETSC_CXX_FLAGS -DHAVE_PETSC -I${PETSC_INCLUDE_DIR}) set(PETSC_LINKER_FLAGS ${PETSC_LIBRARY}) endif() endif() endif() # configure build paths set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin ) set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib ) Loading Loading @@ -422,8 +393,6 @@ message( " CMAKE_SHARED_LINKER_FLAGS_RELEASE = ${CMAKE_SHARED_LINKER_FLAGS_REL message( " CUDA_NVCC_FLAGS = ${CUDA_NVCC_FLAGS}" ) message( " CUDA_SAMPLES_FLAGS = ${CUDA_SAMPLES_FLAGS}" ) message( " GMP_LIBRARIES = ${GMP_LIBRARIES}" ) message( " PETSC_CXX_FLAGS = ${PETSC_CXX_FLAGS}" ) message( " PETSC_LINKER_FLAGS = ${PETSC_LINKER_FLAGS}" ) if( MPI_CXX_FOUND AND ${WITH_MPI} ) message( " MPI_CXX_COMPILE_OPTIONS = ${MPI_CXX_COMPILE_OPTIONS}" ) Loading src/Benchmarks/SpMV/CMakeLists.txt +16 −2 Original line number Diff line number Diff line Loading @@ -8,18 +8,32 @@ # #include( cmake/BuildCSR5.cmake ) # PETSc requires MPI if( BUILD_MPI ) find_package( PETSc COMPONENTS CXX ) endif() if( PETSC_FOUND ) message( "PETSC library found: ${PETSC_VERSION}") set( PETSC_CXX_FLAGS -DHAVE_PETSC ${PETSC_DEFINITIONS} ) message( " PETSC_INCLUDES = ${PETSC_INCLUDES}" ) message( " PETSC_CXX_FLAGS = ${PETSC_CXX_FLAGS}" ) message( " PETSC_LIBRARIES = ${PETSC_LIBRARIES}" ) endif() if( BUILD_CUDA ) file( GLOB EXPLICIT_TEMPLATES spmv.templates/*.cu ) cuda_include_directories( ${CXX_BENCHMARKS_INCLUDE_DIRS} ) cuda_add_executable( tnl-benchmark-spmv tnl-benchmark-spmv.cu ${EXPLICIT_TEMPLATES} ReferenceFormats/LightSpMV-1.0/SpMV.cu ReferenceFormats/LightSpMV-1.0/SpMVCSR.cu OPTIONS ${CXX_BENCHMARKS_FLAGS} ${PETSC_CXX_FLAGS} ) target_link_libraries( tnl-benchmark-spmv ${CUDA_cusparse_LIBRARY} ${CUDA_cudadevrt_LIBRARY} ${PETSC_LINKER_FLAGS}) target_link_libraries( tnl-benchmark-spmv ${CUDA_cusparse_LIBRARY} ${CUDA_cudadevrt_LIBRARY} ) else() file( GLOB EXPLICIT_TEMPLATES spmv.templates/*.cpp ) add_executable( tnl-benchmark-spmv tnl-benchmark-spmv.cpp ${EXPLICIT_TEMPLATES} ) target_compile_options( tnl-benchmark-spmv PRIVATE ${CXX_BENCHMARKS_FLAGS} ${PETSC_CXX_FLAGS} ) target_include_directories( tnl-benchmark-spmv PRIVATE ${CXX_BENCHMARKS_INCLUDE_DIRS} ) target_link_libraries( tnl-benchmark-spmv ${PETSC_LINKER_FLAGS} ) endif() set_property( TARGET tnl-benchmark-spmv APPEND PROPERTY INCLUDE_DIRECTORIES ${PETSC_INCLUDES} ) target_link_libraries( tnl-benchmark-spmv ${PETSC_LIBRARIES} ) install( TARGETS tnl-benchmark-spmv RUNTIME DESTINATION bin ) Loading
CMakeLists.txt +0 −31 Original line number Diff line number Diff line Loading @@ -314,35 +314,6 @@ if( ${WITH_GMP} ) endif() endif() #### # Test for PETSc if( BUILD_MPI ) FIND_PATH( PETSC_INCLUDE_DIR petsc.h /usr/include/petsc ${PETSC_DIR}/${PETSC_ARCH}/include ${PETSC_DIR}/include DOC "PETSC headers." ) if( ${PETSC_INCLUDE_DIR} STREQUAL "PETSC_INCLUDE_DIR-NOTFOUND" ) message( "PETSC not found." ) else() message( "PETSC headers found -- ${PETSC_INCLUDE_DIR}" ) FIND_LIBRARY(PETSC_LIBRARY petsc ${PETSC_INCLUDE_DIR}/../lib /usr/local/lib /usr/lib) if( PETSC_LIBRARY ) #string( REPLACE ";" " " MPI_LIBRARIES "${MPI_CXX_LIBRARIES}" ) #set( PETSC_LIBRARY "${MPI_LIBRARIES} ${PETSC_LIBRARY}") message( "PETSC library found -- ${PETSC_LIBRARY}") #list( GET MPI_CXX_INCLUDE_PATH 0 MPI_CXX_PATH ) #set(PETSC_CXX_FLAGS "-DHAVE_PETSC -I${PETSC_INCLUDE_DIR} -DHAVE_MPI -I${MPI_CXX_PATH}") set(PETSC_CXX_FLAGS -DHAVE_PETSC -I${PETSC_INCLUDE_DIR}) set(PETSC_LINKER_FLAGS ${PETSC_LIBRARY}) endif() endif() endif() # configure build paths set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin ) set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib ) Loading Loading @@ -422,8 +393,6 @@ message( " CMAKE_SHARED_LINKER_FLAGS_RELEASE = ${CMAKE_SHARED_LINKER_FLAGS_REL message( " CUDA_NVCC_FLAGS = ${CUDA_NVCC_FLAGS}" ) message( " CUDA_SAMPLES_FLAGS = ${CUDA_SAMPLES_FLAGS}" ) message( " GMP_LIBRARIES = ${GMP_LIBRARIES}" ) message( " PETSC_CXX_FLAGS = ${PETSC_CXX_FLAGS}" ) message( " PETSC_LINKER_FLAGS = ${PETSC_LINKER_FLAGS}" ) if( MPI_CXX_FOUND AND ${WITH_MPI} ) message( " MPI_CXX_COMPILE_OPTIONS = ${MPI_CXX_COMPILE_OPTIONS}" ) Loading
src/Benchmarks/SpMV/CMakeLists.txt +16 −2 Original line number Diff line number Diff line Loading @@ -8,18 +8,32 @@ # #include( cmake/BuildCSR5.cmake ) # PETSc requires MPI if( BUILD_MPI ) find_package( PETSc COMPONENTS CXX ) endif() if( PETSC_FOUND ) message( "PETSC library found: ${PETSC_VERSION}") set( PETSC_CXX_FLAGS -DHAVE_PETSC ${PETSC_DEFINITIONS} ) message( " PETSC_INCLUDES = ${PETSC_INCLUDES}" ) message( " PETSC_CXX_FLAGS = ${PETSC_CXX_FLAGS}" ) message( " PETSC_LIBRARIES = ${PETSC_LIBRARIES}" ) endif() if( BUILD_CUDA ) file( GLOB EXPLICIT_TEMPLATES spmv.templates/*.cu ) cuda_include_directories( ${CXX_BENCHMARKS_INCLUDE_DIRS} ) cuda_add_executable( tnl-benchmark-spmv tnl-benchmark-spmv.cu ${EXPLICIT_TEMPLATES} ReferenceFormats/LightSpMV-1.0/SpMV.cu ReferenceFormats/LightSpMV-1.0/SpMVCSR.cu OPTIONS ${CXX_BENCHMARKS_FLAGS} ${PETSC_CXX_FLAGS} ) target_link_libraries( tnl-benchmark-spmv ${CUDA_cusparse_LIBRARY} ${CUDA_cudadevrt_LIBRARY} ${PETSC_LINKER_FLAGS}) target_link_libraries( tnl-benchmark-spmv ${CUDA_cusparse_LIBRARY} ${CUDA_cudadevrt_LIBRARY} ) else() file( GLOB EXPLICIT_TEMPLATES spmv.templates/*.cpp ) add_executable( tnl-benchmark-spmv tnl-benchmark-spmv.cpp ${EXPLICIT_TEMPLATES} ) target_compile_options( tnl-benchmark-spmv PRIVATE ${CXX_BENCHMARKS_FLAGS} ${PETSC_CXX_FLAGS} ) target_include_directories( tnl-benchmark-spmv PRIVATE ${CXX_BENCHMARKS_INCLUDE_DIRS} ) target_link_libraries( tnl-benchmark-spmv ${PETSC_LINKER_FLAGS} ) endif() set_property( TARGET tnl-benchmark-spmv APPEND PROPERTY INCLUDE_DIRECTORIES ${PETSC_INCLUDES} ) target_link_libraries( tnl-benchmark-spmv ${PETSC_LIBRARIES} ) install( TARGETS tnl-benchmark-spmv RUNTIME DESTINATION bin )