mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
various improvements of the plot generator in BTL
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
|
||||
btl_add_bench(btl_C main.cpp)
|
||||
btl_add_bench(btl_C main.cpp OFF)
|
||||
# set_target_properties(btl_C PROPERTIES COMPILE_FLAGS "-fpeel-loops")
|
||||
@@ -1,2 +1,2 @@
|
||||
|
||||
btl_add_bench(btl_STL main.cpp)
|
||||
btl_add_bench(btl_STL main.cpp OFF)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
|
||||
btl_add_bench(btl_STL_algo main.cpp)
|
||||
btl_add_bench(btl_STL_algo main.cpp OFF)
|
||||
|
||||
@@ -30,7 +30,9 @@ class eigen2_interface
|
||||
|
||||
public :
|
||||
|
||||
typedef real real_type ;
|
||||
enum {IsFixedSize = (SIZE!=Dynamic)};
|
||||
|
||||
typedef real real_type;
|
||||
|
||||
typedef std::vector<real> stl_vector;
|
||||
typedef std::vector<stl_vector> stl_matrix;
|
||||
@@ -41,11 +43,11 @@ public :
|
||||
static inline std::string name( void )
|
||||
{
|
||||
#if defined(EIGEN_VECTORIZE_SSE)
|
||||
if (SIZE==Dynamic) return "eigen2_SSE"; else return "tiny_eigen2_SSE";
|
||||
#elif defined(EIGEN_VECTORIZE_ALTIVEC)
|
||||
if (SIZE==Dynamic) return "eigen2_AltiVec"; else return "tiny_eigen2_AltiVec";
|
||||
#else
|
||||
if (SIZE==Dynamic) return "eigen2"; else return "tiny_eigen2";
|
||||
#elif defined(EIGEN_VECTORIZE_ALTIVEC)
|
||||
if (SIZE==Dynamic) return "eigen2"; else return "tiny_eigen2";
|
||||
#else
|
||||
if (SIZE==Dynamic) return "eigen2_novec"; else return "tiny_eigen2_novec";
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -32,11 +32,12 @@ int main()
|
||||
{
|
||||
|
||||
bench<Action_matrix_vector_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
// bench<Action_atv_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
// bench<Action_axpy<eigen2_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
// bench<Action_matrix_matrix_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_ata_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_aat_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_axpy<eigen2_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_matrix_matrix_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_ata_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_atv_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
//bench<Action_lu_solve<blitz_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ find_package(Eigen2)
|
||||
if (EIGEN2_FOUND)
|
||||
|
||||
include_directories(${EIGEN2_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/libs/f77)
|
||||
btl_add_bench(btl_hand_vec main.cpp)
|
||||
btl_add_bench(btl_hand_vec main.cpp OFF)
|
||||
|
||||
btl_add_bench(btl_hand_peeling main.cpp)
|
||||
btl_add_bench(btl_hand_peeling main.cpp OFF)
|
||||
if (BUILD_btl_hand_peeling)
|
||||
set_target_properties(btl_hand_peeling PROPERTIES COMPILE_FLAGS "-DPEELING")
|
||||
endif (BUILD_btl_hand_peeling)
|
||||
|
||||
@@ -46,9 +46,9 @@ public :
|
||||
|
||||
static inline void matrix_from_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||
A.resize(A_stl.size(),A_stl[0].size());
|
||||
for (int i=0; i<A_stl.size() ; i++)
|
||||
for (int j=0; j<A_stl[i].size() ; j++)
|
||||
A(i,j)=A_stl[i][j];
|
||||
for (int j=0; j<A_stl.size() ; j++)
|
||||
for (int i=0; i<A_stl[j].size() ; i++)
|
||||
A(i,j)=A_stl[j][i];
|
||||
}
|
||||
|
||||
static inline void vector_from_stl(gene_vector & B, stl_vector & B_stl){
|
||||
@@ -64,11 +64,11 @@ public :
|
||||
|
||||
static inline void matrix_to_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||
int N=A_stl.size();
|
||||
for (int i=0;i<N;i++)
|
||||
for (int j=0;j<N;j++)
|
||||
{
|
||||
A_stl[i].resize(N);
|
||||
for (int j=0;j<N;j++)
|
||||
A_stl[i][j]=A(i,j);
|
||||
A_stl[j].resize(N);
|
||||
for (int i=0;i<N;i++)
|
||||
A_stl[j][i]=A(i,j);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user