BTL: add a Eigen-blas backend

This commit is contained in:
Gael Guennebaud 2011-03-23 11:00:31 +01:00
parent f9da1ccc3b
commit b3e43246bc
4 changed files with 15 additions and 11 deletions

View File

@ -1,4 +1,5 @@
eigen3 ; with lines lw 4 lt 1 lc rgbcolor "black" eigen3 ; with lines lw 4 lt 1 lc rgbcolor "black"
EigenBLAS ; with lines lw 4 lt 3 lc rgbcolor "#999999"
eigen3_novec ; with lines lw 2 lt 1 lc rgbcolor "#999999" eigen3_novec ; with lines lw 2 lt 1 lc rgbcolor "#999999"
eigen3_nogccvec ; with lines lw 2 lt 2 lc rgbcolor "#991010" eigen3_nogccvec ; with lines lw 2 lt 2 lc rgbcolor "#991010"
INTEL_MKL ; with lines lw 3 lt 1 lc rgbcolor "#ff0000" INTEL_MKL ; with lines lw 3 lt 1 lc rgbcolor "#ff0000"

View File

@ -1,7 +1,6 @@
find_package(ATLAS) find_package(ATLAS)
if (ATLAS_FOUND) if (ATLAS_FOUND)
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
btl_add_bench(btl_atlas main.cpp) btl_add_bench(btl_atlas main.cpp)
if(BUILD_btl_atlas) if(BUILD_btl_atlas)
target_link_libraries(btl_atlas ${ATLAS_LIBRARIES}) target_link_libraries(btl_atlas ${ATLAS_LIBRARIES})
@ -11,7 +10,6 @@ endif (ATLAS_FOUND)
find_package(MKL) find_package(MKL)
if (MKL_FOUND) if (MKL_FOUND)
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
btl_add_bench(btl_mkl main.cpp) btl_add_bench(btl_mkl main.cpp)
if(BUILD_btl_mkl) if(BUILD_btl_mkl)
target_link_libraries(btl_mkl ${MKL_LIBRARIES}) target_link_libraries(btl_mkl ${MKL_LIBRARIES})
@ -21,31 +19,38 @@ endif (MKL_FOUND)
find_package(GOTO) find_package(GOTO)
if (GOTO_FOUND) if (GOTO_FOUND)
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
btl_add_bench(btl_goto main.cpp) btl_add_bench(btl_goto main.cpp)
if(BUILD_btl_goto) if(BUILD_btl_goto)
target_link_libraries(btl_goto ${GOTO_LIBRARIES} ) target_link_libraries(btl_goto ${GOTO_LIBRARIES} )
set_target_properties(btl_goto PROPERTIES COMPILE_FLAGS "-DCBLASNAME=GOTO -DPUREBLAS") set_target_properties(btl_goto PROPERTIES COMPILE_FLAGS "-DCBLASNAME=GOTO")
endif(BUILD_btl_goto) endif(BUILD_btl_goto)
endif (GOTO_FOUND) endif (GOTO_FOUND)
find_package(GOTO2) find_package(GOTO2)
if (GOTO2_FOUND) if (GOTO2_FOUND)
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
btl_add_bench(btl_goto2 main.cpp) btl_add_bench(btl_goto2 main.cpp)
if(BUILD_btl_goto2) if(BUILD_btl_goto2)
target_link_libraries(btl_goto2 ${GOTO_LIBRARIES} ) target_link_libraries(btl_goto2 ${GOTO_LIBRARIES} )
set_target_properties(btl_goto2 PROPERTIES COMPILE_FLAGS "-DCBLASNAME=GOTO2 -DPUREBLAS") set_target_properties(btl_goto2 PROPERTIES COMPILE_FLAGS "-DCBLASNAME=GOTO2")
endif(BUILD_btl_goto2) endif(BUILD_btl_goto2)
endif (GOTO2_FOUND) endif (GOTO2_FOUND)
find_package(ACML) find_package(ACML)
if (ACML_FOUND) if (ACML_FOUND)
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
btl_add_bench(btl_acml main.cpp) btl_add_bench(btl_acml main.cpp)
if(BUILD_btl_acml) if(BUILD_btl_acml)
target_link_libraries(btl_acml ${ACML_LIBRARIES} ) target_link_libraries(btl_acml ${ACML_LIBRARIES} )
set_target_properties(btl_acml PROPERTIES COMPILE_FLAGS "-DCBLASNAME=ACML -DHAS_LAPACK=1 -DPUREBLAS") set_target_properties(btl_acml PROPERTIES COMPILE_FLAGS "-DCBLASNAME=ACML -DHAS_LAPACK=1")
endif(BUILD_btl_acml) endif(BUILD_btl_acml)
endif (ACML_FOUND) endif (ACML_FOUND)
if(Eigen_SOURCE_DIR AND CMAKE_Fortran_COMPILER_WORKS)
# we are inside Eigen and blas/lapack interface is compilable
include_directories(${Eigen_SOURCE_DIR})
btl_add_bench(btl_eigenblas main.cpp)
if(BUILD_btl_eigenblas)
target_link_libraries(btl_eigenblas eigen_blas eigen_lapack )
set_target_properties(btl_eigenblas PROPERTIES COMPILE_FLAGS "-DCBLASNAME=EigenBLAS")
endif()
endif()

View File

@ -147,7 +147,5 @@ public :
}; };
SCALAR blas_interface<SCALAR>::fone = SCALAR(1); SCALAR blas_interface<SCALAR>::fone = SCALAR(1);
SCALAR blas_interface<SCALAR>::fzero = SCALAR(0); SCALAR blas_interface<SCALAR>::fzero = SCALAR(0);

View File

@ -37,7 +37,7 @@ extern "C"
{ {
#endif #endif
#include "../bench/btl/libs/C_BLAS/blas.h" #include "../bench/btl/libs/BLAS/blas.h"
#ifdef __cplusplus #ifdef __cplusplus
} }