various improvements of the plot generator in BTL

This commit is contained in:
Gael Guennebaud
2008-07-12 21:41:32 +00:00
parent 8233de8b69
commit ed6e07b2f6
19 changed files with 293 additions and 361 deletions

View File

@@ -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")

View File

@@ -1,2 +1,2 @@
btl_add_bench(btl_STL main.cpp)
btl_add_bench(btl_STL main.cpp OFF)

View File

@@ -1,2 +1,2 @@
btl_add_bench(btl_STL_algo main.cpp)
btl_add_bench(btl_STL_algo main.cpp OFF)

View File

@@ -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
}

View File

@@ -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);

View File

@@ -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)

View File

@@ -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);
}
}