Skip to content

Commit

Permalink
Initial version of HPX backend
Browse files Browse the repository at this point in the history
  • Loading branch information
ddemidov committed Dec 21, 2014
1 parent 3ba9666 commit 971b60f
Show file tree
Hide file tree
Showing 5 changed files with 830 additions and 35 deletions.
82 changes: 49 additions & 33 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,41 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)

#----------------------------------------------------------------------------
# Find OpenMP
#----------------------------------------------------------------------------
find_package(OpenMP)
if (OpenMP_CXX_FLAGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif ()

#----------------------------------------------------------------------------
# Find Eigen
#----------------------------------------------------------------------------
find_path(EIGEN_INCLUDE Eigen/SparseCore PATH_SUFFIXES eigen3)
if (EIGEN_INCLUDE)
include_directories(${EIGEN_INCLUDE})
add_definitions(-DAMGCL_HAVE_EIGEN)
endif()

#----------------------------------------------------------------------------
# Find Blaze
#----------------------------------------------------------------------------
find_path(BLAZE_INCLUDE blaze/Math.h)
if (BLAZE_INCLUDE)
include_directories(${BLAZE_INCLUDE})
add_definitions(-DAMGCL_HAVE_BLAZE)
endif()

#----------------------------------------------------------------------------
# Find HPX
#----------------------------------------------------------------------------
option(HAVE_HPX "Build HPX examples" OFF)
if (HAVE_HPX)
find_package(HPX)
set(BOOST_COMPONENTS serialization)
endif()

#----------------------------------------------------------------------------
# Find Boost
#----------------------------------------------------------------------------
Expand All @@ -25,7 +60,7 @@ else ()
endif()
endif ()

set(BOOST_COMPONENTS
set(BOOST_COMPONENTS ${BOOST_COMPONENTS}
chrono
program_options
system
Expand All @@ -36,33 +71,6 @@ set(BOOST_COMPONENTS
find_package(Boost COMPONENTS ${BOOST_COMPONENTS})
include_directories( ${Boost_INCLUDE_DIRS} )

#----------------------------------------------------------------------------
# Find OpenMP
#----------------------------------------------------------------------------
find_package(OpenMP)

if (OpenMP_CXX_FLAGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif ()

#----------------------------------------------------------------------------
# Find Eigen
#----------------------------------------------------------------------------
find_path(EIGEN_INCLUDE Eigen/SparseCore PATH_SUFFIXES eigen3)
if (EIGEN_INCLUDE)
include_directories(${EIGEN_INCLUDE})
add_definitions(-DAMGCL_HAVE_EIGEN)
endif()

#----------------------------------------------------------------------------
# Find Blaze
#----------------------------------------------------------------------------
find_path(BLAZE_INCLUDE blaze/Math.h)
if (BLAZE_INCLUDE)
include_directories(${BLAZE_INCLUDE})
add_definitions(-DAMGCL_HAVE_BLAZE)
endif()

#----------------------------------------------------------------------------
# Find VexCL
#----------------------------------------------------------------------------
Expand Down Expand Up @@ -103,11 +111,19 @@ endif()
#----------------------------------------------------------------------------
# Find CUDA
#----------------------------------------------------------------------------
find_package(CUDA QUIET)
if (CUDA_FOUND)
set(CUDA_COMPUTE_CAPABILITY "35" CACHE STRING "CUDA Compute Capability")
add_definitions(-DAMGCL_HAVE_CUDA)
add_definitions(-DBOOST_DISABLE_ASSERTS)
option(HAVE_CUDA "Compile examples for CUDA backend" ON)
if (HAVE_CUDA AND HAVE_HPX)
message(FATAL_ERROR
"HPX examples and CUDA examples can not be compiled simultaneously"
)
endif()
if (HAVE_CUDA)
find_package(CUDA QUIET)
if (CUDA_FOUND)
set(CUDA_COMPUTE_CAPABILITY "35" CACHE STRING "CUDA Compute Capability")
add_definitions(-DAMGCL_HAVE_CUDA)
add_definitions(-DBOOST_DISABLE_ASSERTS)
endif ()
endif ()

#----------------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions amgcl/backend/builtin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ struct builtin {

/// Copy vector to builtin backend.
static boost::shared_ptr<vector>
copy_vector(const vector x, const params&)
copy_vector(const vector &x, const params&)
{
return boost::make_shared<vector>(x);
}
Expand Down Expand Up @@ -415,7 +415,7 @@ template <class T>
struct is_builtin_vector : boost::false_type {};

template <class V>
struct is_builtin_vector< std::vector<V> > : boost::true_type {};
struct is_builtin_vector< std::vector<V> > : boost::is_arithmetic<V> {};

template <class Iterator>
struct is_builtin_vector< boost::iterator_range<Iterator> > : boost::true_type {};
Expand Down
Loading

0 comments on commit 971b60f

Please sign in to comment.