From f0238cfb6997c4acfc2bd200de7295f3fa36968f Mon Sep 17 00:00:00 2001
From: Stanislaw Halik
Date: Sun, 3 Mar 2019 21:09:10 +0100
Subject: don't index Eigen
---
eigen/bench/btl/CMakeLists.txt | 107 ----
eigen/bench/btl/COPYING | 340 -----------
eigen/bench/btl/README | 154 -----
eigen/bench/btl/actions/action_aat_product.hh | 145 -----
eigen/bench/btl/actions/action_ata_product.hh | 145 -----
eigen/bench/btl/actions/action_atv_product.hh | 134 ----
eigen/bench/btl/actions/action_axpby.hh | 127 ----
eigen/bench/btl/actions/action_axpy.hh | 139 -----
eigen/bench/btl/actions/action_cholesky.hh | 128 ----
eigen/bench/btl/actions/action_ger.hh | 128 ----
eigen/bench/btl/actions/action_hessenberg.hh | 233 -------
eigen/bench/btl/actions/action_lu_decomp.hh | 124 ----
eigen/bench/btl/actions/action_lu_solve.hh | 136 -----
.../btl/actions/action_matrix_matrix_product.hh | 150 -----
.../actions/action_matrix_matrix_product_bis.hh | 152 -----
.../btl/actions/action_matrix_vector_product.hh | 153 -----
eigen/bench/btl/actions/action_partial_lu.hh | 125 ----
eigen/bench/btl/actions/action_rot.hh | 116 ----
eigen/bench/btl/actions/action_symv.hh | 139 -----
eigen/bench/btl/actions/action_syr2.hh | 133 ----
eigen/bench/btl/actions/action_trisolve.hh | 137 -----
eigen/bench/btl/actions/action_trisolve_matrix.hh | 165 -----
eigen/bench/btl/actions/action_trmm.hh | 165 -----
eigen/bench/btl/actions/basic_actions.hh | 21 -
eigen/bench/btl/cmake/FindACML.cmake | 51 --
eigen/bench/btl/cmake/FindATLAS.cmake | 31 -
eigen/bench/btl/cmake/FindBLAZE.cmake | 31 -
eigen/bench/btl/cmake/FindBlitz.cmake | 40 --
eigen/bench/btl/cmake/FindCBLAS.cmake | 35 --
eigen/bench/btl/cmake/FindGMM.cmake | 17 -
eigen/bench/btl/cmake/FindMKL.cmake | 65 --
eigen/bench/btl/cmake/FindMTL4.cmake | 31 -
eigen/bench/btl/cmake/FindOPENBLAS.cmake | 17 -
.../btl/cmake/FindPackageHandleStandardArgs.cmake | 60 --
eigen/bench/btl/cmake/FindTvmet.cmake | 32 -
.../btl/cmake/MacroOptionalAddSubdirectory.cmake | 31 -
eigen/bench/btl/data/CMakeLists.txt | 32 -
eigen/bench/btl/data/action_settings.txt | 19 -
eigen/bench/btl/data/gnuplot_common_settings.hh | 87 ---
eigen/bench/btl/data/go_mean | 58 --
eigen/bench/btl/data/mean.cxx | 182 ------
eigen/bench/btl/data/mk_gnuplot_script.sh | 68 ---
eigen/bench/btl/data/mk_mean_script.sh | 52 --
eigen/bench/btl/data/mk_new_gnuplot.sh | 54 --
eigen/bench/btl/data/perlib_plot_settings.txt | 16 -
eigen/bench/btl/data/regularize.cxx | 131 ----
eigen/bench/btl/data/smooth.cxx | 198 ------
eigen/bench/btl/data/smooth_all.sh | 68 ---
eigen/bench/btl/generic_bench/bench.hh | 168 -----
eigen/bench/btl/generic_bench/bench_parameter.hh | 53 --
eigen/bench/btl/generic_bench/btl.hh | 242 --------
.../bench/btl/generic_bench/init/init_function.hh | 54 --
eigen/bench/btl/generic_bench/init/init_matrix.hh | 64 --
eigen/bench/btl/generic_bench/init/init_vector.hh | 37 --
.../bench/btl/generic_bench/static/bench_static.hh | 80 ---
.../generic_bench/static/intel_bench_fixed_size.hh | 66 --
.../generic_bench/static/static_size_generator.hh | 57 --
.../btl/generic_bench/timers/STL_perf_analyzer.hh | 82 ---
eigen/bench/btl/generic_bench/timers/STL_timer.hh | 78 ---
.../generic_bench/timers/mixed_perf_analyzer.hh | 73 ---
.../generic_bench/timers/portable_perf_analyzer.hh | 103 ----
.../timers/portable_perf_analyzer_old.hh | 134 ----
.../btl/generic_bench/timers/portable_timer.hh | 187 ------
.../btl/generic_bench/timers/x86_perf_analyzer.hh | 108 ----
eigen/bench/btl/generic_bench/timers/x86_timer.hh | 246 --------
.../bench/btl/generic_bench/utils/size_lin_log.hh | 70 ---
eigen/bench/btl/generic_bench/utils/size_log.hh | 54 --
eigen/bench/btl/generic_bench/utils/utilities.h | 90 ---
eigen/bench/btl/generic_bench/utils/xy_file.hh | 75 ---
eigen/bench/btl/libs/BLAS/CMakeLists.txt | 47 --
eigen/bench/btl/libs/BLAS/blas.h | 675 ---------------------
eigen/bench/btl/libs/BLAS/blas_interface.hh | 83 ---
eigen/bench/btl/libs/BLAS/blas_interface_impl.hh | 147 -----
eigen/bench/btl/libs/BLAS/c_interface_base.h | 73 ---
eigen/bench/btl/libs/BLAS/main.cpp | 73 ---
eigen/bench/btl/libs/STL/CMakeLists.txt | 2 -
eigen/bench/btl/libs/STL/STL_interface.hh | 244 --------
eigen/bench/btl/libs/STL/main.cpp | 42 --
eigen/bench/btl/libs/blaze/CMakeLists.txt | 13 -
eigen/bench/btl/libs/blaze/blaze_interface.hh | 140 -----
eigen/bench/btl/libs/blaze/main.cpp | 40 --
eigen/bench/btl/libs/blitz/CMakeLists.txt | 17 -
.../btl/libs/blitz/blitz_LU_solve_interface.hh | 192 ------
eigen/bench/btl/libs/blitz/blitz_interface.hh | 147 -----
eigen/bench/btl/libs/blitz/btl_blitz.cpp | 51 --
eigen/bench/btl/libs/blitz/btl_tiny_blitz.cpp | 38 --
eigen/bench/btl/libs/blitz/tiny_blitz_interface.hh | 106 ----
eigen/bench/btl/libs/eigen2/CMakeLists.txt | 19 -
eigen/bench/btl/libs/eigen2/btl_tiny_eigen2.cpp | 46 --
eigen/bench/btl/libs/eigen2/eigen2_interface.hh | 168 -----
eigen/bench/btl/libs/eigen2/main_adv.cpp | 44 --
eigen/bench/btl/libs/eigen2/main_linear.cpp | 34 --
eigen/bench/btl/libs/eigen2/main_matmat.cpp | 35 --
eigen/bench/btl/libs/eigen2/main_vecmat.cpp | 36 --
eigen/bench/btl/libs/eigen3/CMakeLists.txt | 65 --
eigen/bench/btl/libs/eigen3/btl_tiny_eigen3.cpp | 46 --
eigen/bench/btl/libs/eigen3/eigen3_interface.hh | 240 --------
eigen/bench/btl/libs/eigen3/main_adv.cpp | 44 --
eigen/bench/btl/libs/eigen3/main_linear.cpp | 35 --
eigen/bench/btl/libs/eigen3/main_matmat.cpp | 35 --
eigen/bench/btl/libs/eigen3/main_vecmat.cpp | 36 --
eigen/bench/btl/libs/gmm/CMakeLists.txt | 6 -
eigen/bench/btl/libs/gmm/gmm_LU_solve_interface.hh | 192 ------
eigen/bench/btl/libs/gmm/gmm_interface.hh | 144 -----
eigen/bench/btl/libs/gmm/main.cpp | 51 --
eigen/bench/btl/libs/mtl4/.kdbgrc.main | 12 -
eigen/bench/btl/libs/mtl4/CMakeLists.txt | 6 -
eigen/bench/btl/libs/mtl4/main.cpp | 46 --
.../bench/btl/libs/mtl4/mtl4_LU_solve_interface.hh | 192 ------
eigen/bench/btl/libs/mtl4/mtl4_interface.hh | 144 -----
eigen/bench/btl/libs/tensors/CMakeLists.txt | 44 --
eigen/bench/btl/libs/tensors/main_linear.cpp | 23 -
eigen/bench/btl/libs/tensors/main_matmat.cpp | 21 -
eigen/bench/btl/libs/tensors/main_vecmat.cpp | 21 -
eigen/bench/btl/libs/tensors/tensor_interface.hh | 105 ----
eigen/bench/btl/libs/tvmet/CMakeLists.txt | 6 -
eigen/bench/btl/libs/tvmet/main.cpp | 40 --
eigen/bench/btl/libs/tvmet/tvmet_interface.hh | 104 ----
eigen/bench/btl/libs/ublas/CMakeLists.txt | 7 -
eigen/bench/btl/libs/ublas/main.cpp | 44 --
eigen/bench/btl/libs/ublas/ublas_interface.hh | 141 -----
121 files changed, 11385 deletions(-)
delete mode 100644 eigen/bench/btl/CMakeLists.txt
delete mode 100644 eigen/bench/btl/COPYING
delete mode 100644 eigen/bench/btl/README
delete mode 100644 eigen/bench/btl/actions/action_aat_product.hh
delete mode 100644 eigen/bench/btl/actions/action_ata_product.hh
delete mode 100644 eigen/bench/btl/actions/action_atv_product.hh
delete mode 100644 eigen/bench/btl/actions/action_axpby.hh
delete mode 100644 eigen/bench/btl/actions/action_axpy.hh
delete mode 100644 eigen/bench/btl/actions/action_cholesky.hh
delete mode 100644 eigen/bench/btl/actions/action_ger.hh
delete mode 100644 eigen/bench/btl/actions/action_hessenberg.hh
delete mode 100644 eigen/bench/btl/actions/action_lu_decomp.hh
delete mode 100644 eigen/bench/btl/actions/action_lu_solve.hh
delete mode 100644 eigen/bench/btl/actions/action_matrix_matrix_product.hh
delete mode 100644 eigen/bench/btl/actions/action_matrix_matrix_product_bis.hh
delete mode 100644 eigen/bench/btl/actions/action_matrix_vector_product.hh
delete mode 100644 eigen/bench/btl/actions/action_partial_lu.hh
delete mode 100644 eigen/bench/btl/actions/action_rot.hh
delete mode 100644 eigen/bench/btl/actions/action_symv.hh
delete mode 100644 eigen/bench/btl/actions/action_syr2.hh
delete mode 100644 eigen/bench/btl/actions/action_trisolve.hh
delete mode 100644 eigen/bench/btl/actions/action_trisolve_matrix.hh
delete mode 100644 eigen/bench/btl/actions/action_trmm.hh
delete mode 100644 eigen/bench/btl/actions/basic_actions.hh
delete mode 100644 eigen/bench/btl/cmake/FindACML.cmake
delete mode 100644 eigen/bench/btl/cmake/FindATLAS.cmake
delete mode 100644 eigen/bench/btl/cmake/FindBLAZE.cmake
delete mode 100644 eigen/bench/btl/cmake/FindBlitz.cmake
delete mode 100644 eigen/bench/btl/cmake/FindCBLAS.cmake
delete mode 100644 eigen/bench/btl/cmake/FindGMM.cmake
delete mode 100644 eigen/bench/btl/cmake/FindMKL.cmake
delete mode 100644 eigen/bench/btl/cmake/FindMTL4.cmake
delete mode 100644 eigen/bench/btl/cmake/FindOPENBLAS.cmake
delete mode 100644 eigen/bench/btl/cmake/FindPackageHandleStandardArgs.cmake
delete mode 100644 eigen/bench/btl/cmake/FindTvmet.cmake
delete mode 100644 eigen/bench/btl/cmake/MacroOptionalAddSubdirectory.cmake
delete mode 100644 eigen/bench/btl/data/CMakeLists.txt
delete mode 100644 eigen/bench/btl/data/action_settings.txt
delete mode 100644 eigen/bench/btl/data/gnuplot_common_settings.hh
delete mode 100644 eigen/bench/btl/data/go_mean
delete mode 100644 eigen/bench/btl/data/mean.cxx
delete mode 100644 eigen/bench/btl/data/mk_gnuplot_script.sh
delete mode 100644 eigen/bench/btl/data/mk_mean_script.sh
delete mode 100644 eigen/bench/btl/data/mk_new_gnuplot.sh
delete mode 100644 eigen/bench/btl/data/perlib_plot_settings.txt
delete mode 100644 eigen/bench/btl/data/regularize.cxx
delete mode 100644 eigen/bench/btl/data/smooth.cxx
delete mode 100644 eigen/bench/btl/data/smooth_all.sh
delete mode 100644 eigen/bench/btl/generic_bench/bench.hh
delete mode 100644 eigen/bench/btl/generic_bench/bench_parameter.hh
delete mode 100644 eigen/bench/btl/generic_bench/btl.hh
delete mode 100644 eigen/bench/btl/generic_bench/init/init_function.hh
delete mode 100644 eigen/bench/btl/generic_bench/init/init_matrix.hh
delete mode 100644 eigen/bench/btl/generic_bench/init/init_vector.hh
delete mode 100644 eigen/bench/btl/generic_bench/static/bench_static.hh
delete mode 100644 eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh
delete mode 100644 eigen/bench/btl/generic_bench/static/static_size_generator.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/STL_timer.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/portable_perf_analyzer.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/portable_perf_analyzer_old.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/portable_timer.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/x86_perf_analyzer.hh
delete mode 100644 eigen/bench/btl/generic_bench/timers/x86_timer.hh
delete mode 100644 eigen/bench/btl/generic_bench/utils/size_lin_log.hh
delete mode 100644 eigen/bench/btl/generic_bench/utils/size_log.hh
delete mode 100644 eigen/bench/btl/generic_bench/utils/utilities.h
delete mode 100644 eigen/bench/btl/generic_bench/utils/xy_file.hh
delete mode 100644 eigen/bench/btl/libs/BLAS/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/BLAS/blas.h
delete mode 100644 eigen/bench/btl/libs/BLAS/blas_interface.hh
delete mode 100644 eigen/bench/btl/libs/BLAS/blas_interface_impl.hh
delete mode 100644 eigen/bench/btl/libs/BLAS/c_interface_base.h
delete mode 100644 eigen/bench/btl/libs/BLAS/main.cpp
delete mode 100644 eigen/bench/btl/libs/STL/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/STL/STL_interface.hh
delete mode 100644 eigen/bench/btl/libs/STL/main.cpp
delete mode 100644 eigen/bench/btl/libs/blaze/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/blaze/blaze_interface.hh
delete mode 100644 eigen/bench/btl/libs/blaze/main.cpp
delete mode 100644 eigen/bench/btl/libs/blitz/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/blitz/blitz_LU_solve_interface.hh
delete mode 100644 eigen/bench/btl/libs/blitz/blitz_interface.hh
delete mode 100644 eigen/bench/btl/libs/blitz/btl_blitz.cpp
delete mode 100644 eigen/bench/btl/libs/blitz/btl_tiny_blitz.cpp
delete mode 100644 eigen/bench/btl/libs/blitz/tiny_blitz_interface.hh
delete mode 100644 eigen/bench/btl/libs/eigen2/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/eigen2/btl_tiny_eigen2.cpp
delete mode 100644 eigen/bench/btl/libs/eigen2/eigen2_interface.hh
delete mode 100644 eigen/bench/btl/libs/eigen2/main_adv.cpp
delete mode 100644 eigen/bench/btl/libs/eigen2/main_linear.cpp
delete mode 100644 eigen/bench/btl/libs/eigen2/main_matmat.cpp
delete mode 100644 eigen/bench/btl/libs/eigen2/main_vecmat.cpp
delete mode 100644 eigen/bench/btl/libs/eigen3/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/eigen3/btl_tiny_eigen3.cpp
delete mode 100644 eigen/bench/btl/libs/eigen3/eigen3_interface.hh
delete mode 100644 eigen/bench/btl/libs/eigen3/main_adv.cpp
delete mode 100644 eigen/bench/btl/libs/eigen3/main_linear.cpp
delete mode 100644 eigen/bench/btl/libs/eigen3/main_matmat.cpp
delete mode 100644 eigen/bench/btl/libs/eigen3/main_vecmat.cpp
delete mode 100644 eigen/bench/btl/libs/gmm/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/gmm/gmm_LU_solve_interface.hh
delete mode 100644 eigen/bench/btl/libs/gmm/gmm_interface.hh
delete mode 100644 eigen/bench/btl/libs/gmm/main.cpp
delete mode 100644 eigen/bench/btl/libs/mtl4/.kdbgrc.main
delete mode 100644 eigen/bench/btl/libs/mtl4/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/mtl4/main.cpp
delete mode 100644 eigen/bench/btl/libs/mtl4/mtl4_LU_solve_interface.hh
delete mode 100644 eigen/bench/btl/libs/mtl4/mtl4_interface.hh
delete mode 100644 eigen/bench/btl/libs/tensors/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/tensors/main_linear.cpp
delete mode 100644 eigen/bench/btl/libs/tensors/main_matmat.cpp
delete mode 100644 eigen/bench/btl/libs/tensors/main_vecmat.cpp
delete mode 100644 eigen/bench/btl/libs/tensors/tensor_interface.hh
delete mode 100644 eigen/bench/btl/libs/tvmet/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/tvmet/main.cpp
delete mode 100644 eigen/bench/btl/libs/tvmet/tvmet_interface.hh
delete mode 100644 eigen/bench/btl/libs/ublas/CMakeLists.txt
delete mode 100644 eigen/bench/btl/libs/ublas/main.cpp
delete mode 100644 eigen/bench/btl/libs/ublas/ublas_interface.hh
(limited to 'eigen/bench/btl')
diff --git a/eigen/bench/btl/CMakeLists.txt b/eigen/bench/btl/CMakeLists.txt
deleted file mode 100644
index 38ff9f4..0000000
--- a/eigen/bench/btl/CMakeLists.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-PROJECT(BTL)
-
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
-
-set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${Eigen_SOURCE_DIR}/cmake)
-include(MacroOptionalAddSubdirectory)
-
-OPTION(BTL_NOVEC "Disable SSE/Altivec optimizations when possible" OFF)
-
-SET(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-string(REGEX MATCH icpc IS_ICPC ${CMAKE_CXX_COMPILER})
-IF(CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC)
- SET(CMAKE_CXX_FLAGS "-g0 -O3 -DNDEBUG ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_Fortran_FLAGS "-g0 -O3 -DNDEBUG ${CMAKE_Fortran_FLAGS}")
- IF(BTL_NOVEC)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_VECTORIZE")
- ENDIF(BTL_NOVEC)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC)
-
-IF(MSVC)
- SET(CMAKE_CXX_FLAGS " /O2 /Ot /GL /fp:fast -DNDEBUG")
-# SET(CMAKE_Fortran_FLAGS "-g0 -O3 -DNDEBUG")
- IF(BTL_NOVEC)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_VECTORIZE")
- ENDIF(BTL_NOVEC)
-ENDIF(MSVC)
-
-if(IS_ICPC)
- set(CMAKE_CXX_FLAGS "-fast ${CMAKE_CXX_FLAGS}")
- set(CMAKE_Fortran_FLAGS "-fast ${CMAKE_Fortran_FLAGS}")
-endif(IS_ICPC)
-
-include_directories(
- ${PROJECT_SOURCE_DIR}/actions
- ${PROJECT_SOURCE_DIR}/generic_bench
- ${PROJECT_SOURCE_DIR}/generic_bench/utils
- ${PROJECT_SOURCE_DIR}/libs/STL)
-
-# find_package(MKL)
-# if (MKL_FOUND)
-# add_definitions(-DHAVE_MKL)
-# set(DEFAULT_LIBRARIES ${MKL_LIBRARIES})
-# endif (MKL_FOUND)
-
-find_library(EIGEN_BTL_RT_LIBRARY rt)
-# if we cannot find it easily, then we don't need it!
-if(NOT EIGEN_BTL_RT_LIBRARY)
- set(EIGEN_BTL_RT_LIBRARY "")
-endif()
-
-MACRO(BTL_ADD_BENCH targetname)
-
- foreach(_current_var ${ARGN})
- set(_last_var ${_current_var})
- endforeach(_current_var)
-
- set(_sources ${ARGN})
- list(LENGTH _sources _argn_length)
-
- list(REMOVE_ITEM _sources ON OFF TRUE FALSE)
-
- list(LENGTH _sources _src_length)
-
- if (${_argn_length} EQUAL ${_src_length})
- set(_last_var ON)
- endif (${_argn_length} EQUAL ${_src_length})
-
- OPTION(BUILD_${targetname} "Build benchmark ${targetname}" ${_last_var})
-
- IF(BUILD_${targetname})
- ADD_EXECUTABLE(${targetname} ${_sources})
- ADD_TEST(${targetname} "${targetname}")
- target_link_libraries(${targetname} ${DEFAULT_LIBRARIES} ${EIGEN_BTL_RT_LIBRARY})
- ENDIF(BUILD_${targetname})
-
-ENDMACRO(BTL_ADD_BENCH)
-
-macro(btl_add_target_property target prop value)
-
- if(BUILD_${target})
- get_target_property(previous ${target} ${prop})
- if(NOT previous)
- set(previous "")
- endif()
- set_target_properties(${target} PROPERTIES ${prop} "${previous} ${value}")
- endif()
-
-endmacro(btl_add_target_property)
-
-ENABLE_TESTING()
-
-add_subdirectory(libs/eigen3)
-add_subdirectory(libs/eigen2)
-add_subdirectory(libs/tensors)
-add_subdirectory(libs/BLAS)
-add_subdirectory(libs/ublas)
-add_subdirectory(libs/gmm)
-add_subdirectory(libs/mtl4)
-add_subdirectory(libs/blitz)
-add_subdirectory(libs/tvmet)
-add_subdirectory(libs/STL)
-add_subdirectory(libs/blaze)
-
-add_subdirectory(data)
-
-
diff --git a/eigen/bench/btl/COPYING b/eigen/bench/btl/COPYING
deleted file mode 100644
index 486449c..0000000
--- a/eigen/bench/btl/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/eigen/bench/btl/README b/eigen/bench/btl/README
deleted file mode 100644
index f3f5fb3..0000000
--- a/eigen/bench/btl/README
+++ /dev/null
@@ -1,154 +0,0 @@
-Bench Template Library
-
-****************************************
-Introduction :
-
-The aim of this project is to compare the performance
-of available numerical libraries. The code is designed
-as generic and modular as possible. Thus, adding new
-numerical libraries or new numerical tests should
-require minimal effort.
-
-
-*****************************************
-
-Installation :
-
-BTL uses cmake / ctest:
-
-1 - create a build directory:
-
- $ mkdir build
- $ cd build
-
-2 - configure:
-
- $ ccmake ..
-
-3 - run the bench using ctest:
-
- $ ctest -V
-
-You can run the benchmarks only on libraries matching a given regular expression:
- ctest -V -R
-For instance:
- ctest -V -R eigen2
-
-You can also select a given set of actions defining the environment variable BTL_CONFIG this way:
- BTL_CONFIG="-a action1{:action2}*" ctest -V
-An exemple:
- BTL_CONFIG="-a axpy:vector_matrix:trisolve:ata" ctest -V -R eigen2
-
-Finally, if bench results already exist (the bench*.dat files) then they merges by keeping the best for each matrix size. If you want to overwrite the previous ones you can simply add the "--overwrite" option:
- BTL_CONFIG="-a axpy:vector_matrix:trisolve:ata --overwrite" ctest -V -R eigen2
-
-4 : Analyze the result. different data files (.dat) are produced in each libs directories.
- If gnuplot is available, choose a directory name in the data directory to store the results and type:
- $ cd data
- $ mkdir my_directory
- $ cp ../libs/*/*.dat my_directory
- Build the data utilities in this (data) directory
- make
- Then you can look the raw data,
- go_mean my_directory
- or smooth the data first :
- smooth_all.sh my_directory
- go_mean my_directory_smooth
-
-
-*************************************************
-
-Files and directories :
-
- generic_bench : all the bench sources common to all libraries
-
- actions : sources for different action wrappers (axpy, matrix-matrix product) to be tested.
-
- libs/* : bench sources specific to each tested libraries.
-
- machine_dep : directory used to store machine specific Makefile.in
-
- data : directory used to store gnuplot scripts and data analysis utilities
-
-**************************************************
-
-Principles : the code modularity is achieved by defining two concepts :
-
- ****** Action concept : This is a class defining which kind
- of test must be performed (e.g. a matrix_vector_product).
- An Action should define the following methods :
-
- *** Ctor using the size of the problem (matrix or vector size) as an argument
- Action action(size);
- *** initialize : this method initialize the calculation (e.g. initialize the matrices and vectors arguments)
- action.initialize();
- *** calculate : this method actually launch the calculation to be benchmarked
- action.calculate;
- *** nb_op_base() : this method returns the complexity of the calculate method (allowing the mflops evaluation)
- *** name() : this method returns the name of the action (std::string)
-
- ****** Interface concept : This is a class or namespace defining how to use a given library and
- its specific containers (matrix and vector). Up to now an interface should following types
-
- *** real_type : kind of float to be used (float or double)
- *** stl_vector : must correspond to std::vector
- *** stl_matrix : must correspond to std::vector
- *** gene_vector : the vector type for this interface --> e.g. (real_type *) for the C_interface
- *** gene_matrix : the matrix type for this interface --> e.g. (gene_vector *) for the C_interface
-
- + the following common methods
-
- *** free_matrix(gene_matrix & A, int N) dealocation of a N sized gene_matrix A
- *** free_vector(gene_vector & B) dealocation of a N sized gene_vector B
- *** matrix_from_stl(gene_matrix & A, stl_matrix & A_stl) copy the content of an stl_matrix A_stl into a gene_matrix A.
- The allocation of A is done in this function.
- *** vector_to_stl(gene_vector & B, stl_vector & B_stl) copy the content of an stl_vector B_stl into a gene_vector B.
- The allocation of B is done in this function.
- *** matrix_to_stl(gene_matrix & A, stl_matrix & A_stl) copy the content of an gene_matrix A into an stl_matrix A_stl.
- The size of A_STL must corresponds to the size of A.
- *** vector_to_stl(gene_vector & A, stl_vector & A_stl) copy the content of an gene_vector A into an stl_vector A_stl.
- The size of B_STL must corresponds to the size of B.
- *** copy_matrix(gene_matrix & source, gene_matrix & cible, int N) : copy the content of source in cible. Both source
- and cible must be sized NxN.
- *** copy_vector(gene_vector & source, gene_vector & cible, int N) : copy the content of source in cible. Both source
- and cible must be sized N.
-
- and the following method corresponding to the action one wants to be benchmarked :
-
- *** matrix_vector_product(const gene_matrix & A, const gene_vector & B, gene_vector & X, int N)
- *** matrix_matrix_product(const gene_matrix & A, const gene_matrix & B, gene_matrix & X, int N)
- *** ata_product(const gene_matrix & A, gene_matrix & X, int N)
- *** aat_product(const gene_matrix & A, gene_matrix & X, int N)
- *** axpy(real coef, const gene_vector & X, gene_vector & Y, int N)
-
- The bench algorithm (generic_bench/bench.hh) is templated with an action itself templated with
- an interface. A typical main.cpp source stored in a given library directory libs/A_LIB
- looks like :
-
- bench< AN_ACTION < AN_INTERFACE > >( 10 , 1000 , 50 ) ;
-
- this function will produce XY data file containing measured mflops as a function of the size for 50
- sizes between 10 and 10000.
-
- This algorithm can be adapted by providing a given Perf_Analyzer object which determines how the time
- measurements must be done. For example, the X86_Perf_Analyzer use the asm rdtsc function and provides
- a very fast and accurate (but less portable) timing method. The default is the Portable_Perf_Analyzer
- so
-
- bench< AN_ACTION < AN_INTERFACE > >( 10 , 1000 , 50 ) ;
-
- is equivalent to
-
- bench< Portable_Perf_Analyzer,AN_ACTION < AN_INTERFACE > >( 10 , 1000 , 50 ) ;
-
- If your system supports it we suggest to use a mixed implementation (X86_perf_Analyzer+Portable_Perf_Analyzer).
- replace
- bench(size_min,size_max,nb_point);
- with
- bench(size_min,size_max,nb_point);
- in generic/bench.hh
-
-.
-
-
-
diff --git a/eigen/bench/btl/actions/action_aat_product.hh b/eigen/bench/btl/actions/action_aat_product.hh
deleted file mode 100644
index aa5b35c..0000000
--- a/eigen/bench/btl/actions/action_aat_product.hh
+++ /dev/null
@@ -1,145 +0,0 @@
-//=====================================================
-// File : action_aat_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_AAT_PRODUCT
-#define ACTION_AAT_PRODUCT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_aat_product {
-
-public :
-
- // Ctor
-
- Action_aat_product( int size ):_size(size)
- {
- MESSAGE("Action_aat_product Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_matrix(X_stl,_size);
- init_matrix(resu_stl,_size);
-
- // generic matrix and vector initialization
-
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(X_ref,X_stl);
-
- Interface::matrix_from_stl(A,A_stl);
- Interface::matrix_from_stl(X,X_stl);
-
- }
-
- // invalidate copy ctor
-
- Action_aat_product( const Action_aat_product & )
- {
- INFOS("illegal call to Action_aat_product Copy Ctor");
- exit(0);
- }
-
- // Dtor
-
- ~Action_aat_product( void ){
-
- MESSAGE("Action_aat_product Dtor");
-
- // deallocation
-
- Interface::free_matrix(A,_size);
- Interface::free_matrix(X,_size);
-
- Interface::free_matrix(A_ref,_size);
- Interface::free_matrix(X_ref,_size);
-
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "aat_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return double(_size)*double(_size)*double(_size);
- }
-
- inline void initialize( void ){
-
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_matrix(X_ref,X,_size);
-
- }
-
- inline void calculate( void ) {
-
- Interface::aat_product(A,X,_size);
-
- }
-
- void check_result( void ){
- if (_size>128) return;
- // calculation check
-
- Interface::matrix_to_stl(X,resu_stl);
-
- STL_interface::aat_product(A_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(1);
- }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_matrix X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_matrix X;
-
-
- int _size;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_ata_product.hh b/eigen/bench/btl/actions/action_ata_product.hh
deleted file mode 100644
index 04364fe..0000000
--- a/eigen/bench/btl/actions/action_ata_product.hh
+++ /dev/null
@@ -1,145 +0,0 @@
-//=====================================================
-// File : action_ata_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_ATA_PRODUCT
-#define ACTION_ATA_PRODUCT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_ata_product {
-
-public :
-
- // Ctor
-
- Action_ata_product( int size ):_size(size)
- {
- MESSAGE("Action_ata_product Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_matrix(X_stl,_size);
- init_matrix(resu_stl,_size);
-
- // generic matrix and vector initialization
-
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(X_ref,X_stl);
-
- Interface::matrix_from_stl(A,A_stl);
- Interface::matrix_from_stl(X,X_stl);
-
- }
-
- // invalidate copy ctor
-
- Action_ata_product( const Action_ata_product & )
- {
- INFOS("illegal call to Action_ata_product Copy Ctor");
- exit(0);
- }
-
- // Dtor
-
- ~Action_ata_product( void ){
-
- MESSAGE("Action_ata_product Dtor");
-
- // deallocation
-
- Interface::free_matrix(A,_size);
- Interface::free_matrix(X,_size);
-
- Interface::free_matrix(A_ref,_size);
- Interface::free_matrix(X_ref,_size);
-
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "ata_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size*_size*_size;
- }
-
- inline void initialize( void ){
-
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_matrix(X_ref,X,_size);
-
- }
-
- inline void calculate( void ) {
-
- Interface::ata_product(A,X,_size);
-
- }
-
- void check_result( void ){
- if (_size>128) return;
- // calculation check
-
- Interface::matrix_to_stl(X,resu_stl);
-
- STL_interface::ata_product(A_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(1);
- }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_matrix X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_matrix X;
-
-
- int _size;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_atv_product.hh b/eigen/bench/btl/actions/action_atv_product.hh
deleted file mode 100644
index a823451..0000000
--- a/eigen/bench/btl/actions/action_atv_product.hh
+++ /dev/null
@@ -1,134 +0,0 @@
-//=====================================================
-// File : action_atv_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_ATV_PRODUCT
-#define ACTION_ATV_PRODUCT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_atv_product {
-
-public :
-
- Action_atv_product( int size ) : _size(size)
- {
- MESSAGE("Action_atv_product Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_vector(B_stl,_size);
- init_vector(X_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
-
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::vector_from_stl(B_ref,B_stl);
- Interface::vector_from_stl(X_ref,X_stl);
-
- Interface::matrix_from_stl(A,A_stl);
- Interface::vector_from_stl(B,B_stl);
- Interface::vector_from_stl(X,X_stl);
- }
-
- // invalidate copy ctor
- Action_atv_product( const Action_atv_product & )
- {
- INFOS("illegal call to Action_atv_product Copy Ctor");
- exit(1);
- }
-
- ~Action_atv_product( void )
- {
- MESSAGE("Action_atv_product Dtor");
-
- Interface::free_matrix(A,_size);
- Interface::free_vector(B);
- Interface::free_vector(X);
-
- Interface::free_matrix(A_ref,_size);
- Interface::free_vector(B_ref);
- Interface::free_vector(X_ref);
- }
-
- static inline std::string name() { return "atv_" + Interface::name(); }
-
- double nb_op_base( void ) { return 2.0*_size*_size; }
-
- inline void initialize( void ){
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_vector(B_ref,B,_size);
- Interface::copy_vector(X_ref,X,_size);
- }
-
- BTL_DONT_INLINE void calculate( void ) {
- BTL_ASM_COMMENT("begin atv");
- Interface::atv_product(A,B,X,_size);
- BTL_ASM_COMMENT("end atv");
- }
-
- void check_result( void )
- {
- if (_size>128) return;
- Interface::vector_to_stl(X,resu_stl);
-
- STL_interface::atv_product(A_stl,B_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(1);
- }
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_vector B_ref;
- typename Interface::gene_vector X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_vector B;
- typename Interface::gene_vector X;
-
-
- int _size;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_axpby.hh b/eigen/bench/btl/actions/action_axpby.hh
deleted file mode 100644
index dadd0cc..0000000
--- a/eigen/bench/btl/actions/action_axpby.hh
+++ /dev/null
@@ -1,127 +0,0 @@
-//=====================================================
-// File : action_axpby.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_AXPBY
-#define ACTION_AXPBY
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_axpby {
-
-public :
-
- // Ctor
- Action_axpby( int size ):_alpha(0.5),_beta(0.95),_size(size)
- {
- MESSAGE("Action_axpby Ctor");
-
- // STL vector initialization
- init_vector(X_stl,_size);
- init_vector(Y_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::vector_from_stl(X_ref,X_stl);
- Interface::vector_from_stl(Y_ref,Y_stl);
-
- Interface::vector_from_stl(X,X_stl);
- Interface::vector_from_stl(Y,Y_stl);
- }
-
- // invalidate copy ctor
- Action_axpby( const Action_axpby & )
- {
- INFOS("illegal call to Action_axpby Copy Ctor");
- exit(1);
- }
-
- // Dtor
- ~Action_axpby( void ){
- MESSAGE("Action_axpby Dtor");
-
- // deallocation
- Interface::free_vector(X_ref);
- Interface::free_vector(Y_ref);
-
- Interface::free_vector(X);
- Interface::free_vector(Y);
- }
-
- // action name
- static inline std::string name( void )
- {
- return "axpby_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return 3.0*_size;
- }
-
- inline void initialize( void ){
- Interface::copy_vector(X_ref,X,_size);
- Interface::copy_vector(Y_ref,Y,_size);
- }
-
- inline void calculate( void ) {
- BTL_ASM_COMMENT("mybegin axpby");
- Interface::axpby(_alpha,X,_beta,Y,_size);
- BTL_ASM_COMMENT("myend axpby");
- }
-
- void check_result( void ){
- if (_size>128) return;
- // calculation check
- Interface::vector_to_stl(Y,resu_stl);
-
- STL_interface::axpby(_alpha,X_stl,_beta,Y_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(Y_stl,resu_stl);
-
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(2);
- }
- }
-
-private :
-
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector Y_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_vector X_ref;
- typename Interface::gene_vector Y_ref;
-
- typename Interface::gene_vector X;
- typename Interface::gene_vector Y;
-
- typename Interface::real_type _alpha;
- typename Interface::real_type _beta;
-
- int _size;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_axpy.hh b/eigen/bench/btl/actions/action_axpy.hh
deleted file mode 100644
index 261be4c..0000000
--- a/eigen/bench/btl/actions/action_axpy.hh
+++ /dev/null
@@ -1,139 +0,0 @@
-//=====================================================
-// File : action_axpy.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_AXPY
-#define ACTION_AXPY
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_axpy {
-
-public :
-
- // Ctor
-
- Action_axpy( int size ):_coef(1.0),_size(size)
- {
- MESSAGE("Action_axpy Ctor");
-
- // STL vector initialization
-
- init_vector(X_stl,_size);
- init_vector(Y_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
-
- Interface::vector_from_stl(X_ref,X_stl);
- Interface::vector_from_stl(Y_ref,Y_stl);
-
- Interface::vector_from_stl(X,X_stl);
- Interface::vector_from_stl(Y,Y_stl);
-
-
- }
-
- // invalidate copy ctor
-
- Action_axpy( const Action_axpy & )
- {
- INFOS("illegal call to Action_axpy Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_axpy( void ){
-
- MESSAGE("Action_axpy Dtor");
-
- // deallocation
-
- Interface::free_vector(X_ref);
- Interface::free_vector(Y_ref);
-
- Interface::free_vector(X);
- Interface::free_vector(Y);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "axpy_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size;
- }
-
- inline void initialize( void ){
- Interface::copy_vector(X_ref,X,_size);
- Interface::copy_vector(Y_ref,Y,_size);
- }
-
- inline void calculate( void ) {
- BTL_ASM_COMMENT("mybegin axpy");
- Interface::axpy(_coef,X,Y,_size);
- BTL_ASM_COMMENT("myend axpy");
- }
-
- void check_result( void ){
- if (_size>128) return;
- // calculation check
-
- Interface::vector_to_stl(Y,resu_stl);
-
- STL_interface::axpy(_coef,X_stl,Y_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(Y_stl,resu_stl);
-
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(0);
- }
-
- }
-
-private :
-
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector Y_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_vector X_ref;
- typename Interface::gene_vector Y_ref;
-
- typename Interface::gene_vector X;
- typename Interface::gene_vector Y;
-
- typename Interface::real_type _coef;
-
- int _size;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_cholesky.hh b/eigen/bench/btl/actions/action_cholesky.hh
deleted file mode 100644
index 5f66d11..0000000
--- a/eigen/bench/btl/actions/action_cholesky.hh
+++ /dev/null
@@ -1,128 +0,0 @@
-//=====================================================
-// File : action_cholesky.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_CHOLESKY
-#define ACTION_CHOLESKY
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_cholesky {
-
-public :
-
- // Ctor
-
- Action_cholesky( int size ):_size(size)
- {
- MESSAGE("Action_cholesky Ctor");
-
- // STL mat/vec initialization
- init_matrix_symm(X_stl,_size);
- init_matrix(C_stl,_size);
-
- // make sure X is invertible
- for (int i=0; i<_size; ++i)
- X_stl[i][i] = std::abs(X_stl[i][i]) * 1e2 + 100;
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(X_ref,X_stl);
- Interface::matrix_from_stl(X,X_stl);
- Interface::matrix_from_stl(C,C_stl);
-
- _cost = 0;
- for (int j=0; j<_size; ++j)
- {
- double r = std::max(_size - j -1,0);
- _cost += 2*(r*j+r+j);
- }
- }
-
- // invalidate copy ctor
-
- Action_cholesky( const Action_cholesky & )
- {
- INFOS("illegal call to Action_cholesky Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_cholesky( void ){
-
- MESSAGE("Action_cholesky Dtor");
-
- // deallocation
- Interface::free_matrix(X_ref,_size);
- Interface::free_matrix(X,_size);
- Interface::free_matrix(C,_size);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "cholesky_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return _cost;
- }
-
- inline void initialize( void ){
- Interface::copy_matrix(X_ref,X,_size);
- }
-
- inline void calculate( void ) {
- Interface::cholesky(X,C,_size);
- }
-
- void check_result( void ){
- // calculation check
-// STL_interface::cholesky(X_stl,C_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(C_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix C_stl;
-
- typename Interface::gene_matrix X_ref;
- typename Interface::gene_matrix X;
- typename Interface::gene_matrix C;
-
- int _size;
- double _cost;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_ger.hh b/eigen/bench/btl/actions/action_ger.hh
deleted file mode 100644
index dc766ef..0000000
--- a/eigen/bench/btl/actions/action_ger.hh
+++ /dev/null
@@ -1,128 +0,0 @@
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_GER
-#define ACTION_GER
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_ger {
-
-public :
-
- // Ctor
- BTL_DONT_INLINE Action_ger( int size ):_size(size)
- {
- MESSAGE("Action_ger Ctor");
-
- // STL matrix and vector initialization
- typename Interface::stl_matrix tmp;
- init_matrix(A_stl,_size);
- init_vector(B_stl,_size);
- init_vector(X_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(A,A_stl);
- Interface::vector_from_stl(B_ref,B_stl);
- Interface::vector_from_stl(B,B_stl);
- Interface::vector_from_stl(X_ref,X_stl);
- Interface::vector_from_stl(X,X_stl);
- }
-
- // invalidate copy ctor
- Action_ger( const Action_ger & )
- {
- INFOS("illegal call to Action_ger Copy Ctor");
- exit(1);
- }
-
- // Dtor
- BTL_DONT_INLINE ~Action_ger( void ){
- MESSAGE("Action_ger Dtor");
- Interface::free_matrix(A,_size);
- Interface::free_vector(B);
- Interface::free_vector(X);
- Interface::free_matrix(A_ref,_size);
- Interface::free_vector(B_ref);
- Interface::free_vector(X_ref);
-
- }
-
- // action name
- static inline std::string name( void )
- {
- return "ger_" + Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size*_size;
- }
-
- BTL_DONT_INLINE void initialize( void ){
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_vector(B_ref,B,_size);
- Interface::copy_vector(X_ref,X,_size);
- }
-
- BTL_DONT_INLINE void calculate( void ) {
- BTL_ASM_COMMENT("#begin ger");
- Interface::ger(A,B,X,_size);
- BTL_ASM_COMMENT("end ger");
- }
-
- BTL_DONT_INLINE void check_result( void ){
- // calculation check
- Interface::vector_to_stl(X,resu_stl);
-
- STL_interface::ger(A_stl,B_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-3){
- INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
- }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_vector B_ref;
- typename Interface::gene_vector X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_vector B;
- typename Interface::gene_vector X;
-
- int _size;
-};
-
-
-#endif
diff --git a/eigen/bench/btl/actions/action_hessenberg.hh b/eigen/bench/btl/actions/action_hessenberg.hh
deleted file mode 100644
index 2100ebd..0000000
--- a/eigen/bench/btl/actions/action_hessenberg.hh
+++ /dev/null
@@ -1,233 +0,0 @@
-//=====================================================
-// File : action_hessenberg.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_HESSENBERG
-#define ACTION_HESSENBERG
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_hessenberg {
-
-public :
-
- // Ctor
-
- Action_hessenberg( int size ):_size(size)
- {
- MESSAGE("Action_hessenberg Ctor");
-
- // STL vector initialization
- init_matrix(X_stl,_size);
-
- init_matrix(C_stl,_size);
- init_matrix(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(X_ref,X_stl);
- Interface::matrix_from_stl(X,X_stl);
- Interface::matrix_from_stl(C,C_stl);
-
- _cost = 0;
- for (int j=0; j<_size-2; ++j)
- {
- double r = std::max(0,_size-j-1);
- double b = std::max(0,_size-j-2);
- _cost += 6 + 3*b + r*r*4 + r*_size*4;
- }
- }
-
- // invalidate copy ctor
-
- Action_hessenberg( const Action_hessenberg & )
- {
- INFOS("illegal call to Action_hessenberg Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_hessenberg( void ){
-
- MESSAGE("Action_hessenberg Dtor");
-
- // deallocation
- Interface::free_matrix(X_ref,_size);
- Interface::free_matrix(X,_size);
- Interface::free_matrix(C,_size);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "hessenberg_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return _cost;
- }
-
- inline void initialize( void ){
- Interface::copy_matrix(X_ref,X,_size);
- }
-
- inline void calculate( void ) {
- Interface::hessenberg(X,C,_size);
- }
-
- void check_result( void ){
- // calculation check
- Interface::matrix_to_stl(C,resu_stl);
-
-// STL_interface::hessenberg(X_stl,C_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(C_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix C_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix X_ref;
- typename Interface::gene_matrix X;
- typename Interface::gene_matrix C;
-
- int _size;
- double _cost;
-};
-
-template
-class Action_tridiagonalization {
-
-public :
-
- // Ctor
-
- Action_tridiagonalization( int size ):_size(size)
- {
- MESSAGE("Action_tridiagonalization Ctor");
-
- // STL vector initialization
- init_matrix(X_stl,_size);
-
- for(int i=0; i<_size; ++i)
- {
- for(int j=0; j(C_stl,_size);
- init_matrix(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(X_ref,X_stl);
- Interface::matrix_from_stl(X,X_stl);
- Interface::matrix_from_stl(C,C_stl);
-
- _cost = 0;
- for (int j=0; j<_size-2; ++j)
- {
- double r = std::max(0,_size-j-1);
- double b = std::max(0,_size-j-2);
- _cost += 6. + 3.*b + r*r*8.;
- }
- }
-
- // invalidate copy ctor
-
- Action_tridiagonalization( const Action_tridiagonalization & )
- {
- INFOS("illegal call to Action_tridiagonalization Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_tridiagonalization( void ){
-
- MESSAGE("Action_tridiagonalization Dtor");
-
- // deallocation
- Interface::free_matrix(X_ref,_size);
- Interface::free_matrix(X,_size);
- Interface::free_matrix(C,_size);
- }
-
- // action name
-
- static inline std::string name( void ) { return "tridiagonalization_"+Interface::name(); }
-
- double nb_op_base( void ){
- return _cost;
- }
-
- inline void initialize( void ){
- Interface::copy_matrix(X_ref,X,_size);
- }
-
- inline void calculate( void ) {
- Interface::tridiagonalization(X,C,_size);
- }
-
- void check_result( void ){
- // calculation check
- Interface::matrix_to_stl(C,resu_stl);
-
-// STL_interface::tridiagonalization(X_stl,C_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(C_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix C_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix X_ref;
- typename Interface::gene_matrix X;
- typename Interface::gene_matrix C;
-
- int _size;
- double _cost;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_lu_decomp.hh b/eigen/bench/btl/actions/action_lu_decomp.hh
deleted file mode 100644
index 2448e82..0000000
--- a/eigen/bench/btl/actions/action_lu_decomp.hh
+++ /dev/null
@@ -1,124 +0,0 @@
-//=====================================================
-// File : action_lu_decomp.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_LU_DECOMP
-#define ACTION_LU_DECOMP
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_lu_decomp {
-
-public :
-
- // Ctor
-
- Action_lu_decomp( int size ):_size(size)
- {
- MESSAGE("Action_lu_decomp Ctor");
-
- // STL vector initialization
- init_matrix(X_stl,_size);
-
- init_matrix(C_stl,_size);
- init_matrix(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(X_ref,X_stl);
- Interface::matrix_from_stl(X,X_stl);
- Interface::matrix_from_stl(C,C_stl);
-
- _cost = 2.0*size*size*size/3.0 + size*size;
- }
-
- // invalidate copy ctor
-
- Action_lu_decomp( const Action_lu_decomp & )
- {
- INFOS("illegal call to Action_lu_decomp Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_lu_decomp( void ){
-
- MESSAGE("Action_lu_decomp Dtor");
-
- // deallocation
- Interface::free_matrix(X_ref,_size);
- Interface::free_matrix(X,_size);
- Interface::free_matrix(C,_size);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "complete_lu_decomp_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return _cost;
- }
-
- inline void initialize( void ){
- Interface::copy_matrix(X_ref,X,_size);
- }
-
- inline void calculate( void ) {
- Interface::lu_decomp(X,C,_size);
- }
-
- void check_result( void ){
- // calculation check
- Interface::matrix_to_stl(C,resu_stl);
-
-// STL_interface::lu_decomp(X_stl,C_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(C_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix C_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix X_ref;
- typename Interface::gene_matrix X;
- typename Interface::gene_matrix C;
-
- int _size;
- double _cost;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_lu_solve.hh b/eigen/bench/btl/actions/action_lu_solve.hh
deleted file mode 100644
index 5a81e63..0000000
--- a/eigen/bench/btl/actions/action_lu_solve.hh
+++ /dev/null
@@ -1,136 +0,0 @@
-//=====================================================
-// File : action_lu_solve.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_LU_SOLVE
-#define ACTION_LU_SOLVE
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_lu_solve
-{
-
-public :
-
- static inline std::string name( void )
- {
- return "lu_solve_"+Interface::name();
- }
-
- static double nb_op_base(int size){
- return 2.0*size*size*size/3.0; // questionable but not really important
- }
-
-
- static double calculate( int nb_calc, int size ) {
-
- // STL matrix and vector initialization
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector X_stl;
-
- init_matrix(A_stl,size);
- init_vector(B_stl,size);
- init_vector(X_stl,size);
-
- // generic matrix and vector initialization
-
- typename Interface::gene_matrix A;
- typename Interface::gene_vector B;
- typename Interface::gene_vector X;
-
- typename Interface::gene_matrix LU;
-
- Interface::matrix_from_stl(A,A_stl);
- Interface::vector_from_stl(B,B_stl);
- Interface::vector_from_stl(X,X_stl);
- Interface::matrix_from_stl(LU,A_stl);
-
- // local variable :
-
- typename Interface::Pivot_Vector pivot; // pivot vector
- Interface::new_Pivot_Vector(pivot,size);
-
- // timer utilities
-
- Portable_Timer chronos;
-
- // time measurement
-
- chronos.start();
-
- for (int ii=0;ii::matrix_vector_product(A_stl,X_stl,B_new_stl,size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(B_stl,B_new_stl);
-
- if (error>1.e-5){
- INFOS("WRONG CALCULATION...residual=" << error);
- STL_interface::display_vector(B_stl);
- STL_interface::display_vector(B_new_stl);
- exit(0);
- }
-
- // deallocation and return time
-
- Interface::free_matrix(A,size);
- Interface::free_vector(B);
- Interface::free_vector(X);
- Interface::free_Pivot_Vector(pivot);
-
- return time;
- }
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_matrix_matrix_product.hh b/eigen/bench/btl/actions/action_matrix_matrix_product.hh
deleted file mode 100644
index f65ee05..0000000
--- a/eigen/bench/btl/actions/action_matrix_matrix_product.hh
+++ /dev/null
@@ -1,150 +0,0 @@
-//=====================================================
-// File : action_matrix_matrix_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_MATRIX_MATRIX_PRODUCT
-#define ACTION_MATRIX_MATRIX_PRODUCT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_matrix_matrix_product {
-
-public :
-
- // Ctor
-
- Action_matrix_matrix_product( int size ):_size(size)
- {
- MESSAGE("Action_matrix_matrix_product Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_matrix(B_stl,_size);
- init_matrix(X_stl,_size);
- init_matrix(resu_stl,_size);
-
- // generic matrix and vector initialization
-
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(B_ref,B_stl);
- Interface::matrix_from_stl(X_ref,X_stl);
-
- Interface::matrix_from_stl(A,A_stl);
- Interface::matrix_from_stl(B,B_stl);
- Interface::matrix_from_stl(X,X_stl);
-
- }
-
- // invalidate copy ctor
-
- Action_matrix_matrix_product( const Action_matrix_matrix_product & )
- {
- INFOS("illegal call to Action_matrix_matrix_product Copy Ctor");
- exit(0);
- }
-
- // Dtor
-
- ~Action_matrix_matrix_product( void ){
-
- MESSAGE("Action_matrix_matrix_product Dtor");
-
- // deallocation
-
- Interface::free_matrix(A,_size);
- Interface::free_matrix(B,_size);
- Interface::free_matrix(X,_size);
-
- Interface::free_matrix(A_ref,_size);
- Interface::free_matrix(B_ref,_size);
- Interface::free_matrix(X_ref,_size);
-
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "matrix_matrix_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size*_size*_size;
- }
-
- inline void initialize( void ){
-
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_matrix(B_ref,B,_size);
- Interface::copy_matrix(X_ref,X,_size);
-
- }
-
- inline void calculate( void ) {
- Interface::matrix_matrix_product(A,B,X,_size);
- }
-
- void check_result( void ){
-
- // calculation check
- if (_size<200)
- {
- Interface::matrix_to_stl(X,resu_stl);
- STL_interface::matrix_matrix_product(A_stl,B_stl,X_stl,_size);
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(1);
- }
- }
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_matrix B_stl;
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_matrix B_ref;
- typename Interface::gene_matrix X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_matrix B;
- typename Interface::gene_matrix X;
-
-
- int _size;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_matrix_matrix_product_bis.hh b/eigen/bench/btl/actions/action_matrix_matrix_product_bis.hh
deleted file mode 100644
index 29c10a6..0000000
--- a/eigen/bench/btl/actions/action_matrix_matrix_product_bis.hh
+++ /dev/null
@@ -1,152 +0,0 @@
-//=====================================================
-// File : action_matrix_matrix_product_bis.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_MATRIX_MATRIX_PRODUCT_BIS
-#define ACTION_MATRIX_MATRIX_PRODUCT_BIS
-#include "utilities.h"
-#include "STL_interface.hh"
-#include "STL_timer.hh"
-#include
-#include "init_function.hh"
-#include "init_vector.hh"
-#include "init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_matrix_matrix_product_bis {
-
-public :
-
- static inline std::string name( void )
- {
- return "matrix_matrix_"+Interface::name();
- }
-
- static double nb_op_base(int size){
- return 2.0*size*size*size;
- }
-
- static double calculate( int nb_calc, int size ) {
-
- // STL matrix and vector initialization
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_matrix B_stl;
- typename Interface::stl_matrix X_stl;
-
- init_matrix(A_stl,size);
- init_matrix(B_stl,size);
- init_matrix(X_stl,size);
-
- // generic matrix and vector initialization
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_matrix B_ref;
- typename Interface::gene_matrix X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_matrix B;
- typename Interface::gene_matrix X;
-
-
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(B_ref,B_stl);
- Interface::matrix_from_stl(X_ref,X_stl);
-
- Interface::matrix_from_stl(A,A_stl);
- Interface::matrix_from_stl(B,B_stl);
- Interface::matrix_from_stl(X,X_stl);
-
-
- // STL_timer utilities
-
- STL_timer chronos;
-
- // Baseline evaluation
-
- chronos.start_baseline(nb_calc);
-
- do {
-
- Interface::copy_matrix(A_ref,A,size);
- Interface::copy_matrix(B_ref,B,size);
- Interface::copy_matrix(X_ref,X,size);
-
-
- // Interface::matrix_matrix_product(A,B,X,size); This line must be commented !!!!
- }
- while(chronos.check());
-
- chronos.report(true);
-
- // Time measurement
-
- chronos.start(nb_calc);
-
- do {
-
- Interface::copy_matrix(A_ref,A,size);
- Interface::copy_matrix(B_ref,B,size);
- Interface::copy_matrix(X_ref,X,size);
-
- Interface::matrix_matrix_product(A,B,X,size); // here it is not commented !!!!
- }
- while(chronos.check());
-
- chronos.report(true);
-
- double time=chronos.calculated_time/2000.0;
-
- // calculation check
-
- typename Interface::stl_matrix resu_stl(size);
-
- Interface::matrix_to_stl(X,resu_stl);
-
- STL_interface::matrix_matrix_product(A_stl,B_stl,X_stl,size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-6){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(1);
- }
-
- // deallocation and return time
-
- Interface::free_matrix(A,size);
- Interface::free_matrix(B,size);
- Interface::free_matrix(X,size);
-
- Interface::free_matrix(A_ref,size);
- Interface::free_matrix(B_ref,size);
- Interface::free_matrix(X_ref,size);
-
- return time;
- }
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_matrix_vector_product.hh b/eigen/bench/btl/actions/action_matrix_vector_product.hh
deleted file mode 100644
index 8bab79d..0000000
--- a/eigen/bench/btl/actions/action_matrix_vector_product.hh
+++ /dev/null
@@ -1,153 +0,0 @@
-//=====================================================
-// File : action_matrix_vector_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_MATRIX_VECTOR_PRODUCT
-#define ACTION_MATRIX_VECTOR_PRODUCT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_matrix_vector_product {
-
-public :
-
- // Ctor
-
- BTL_DONT_INLINE Action_matrix_vector_product( int size ):_size(size)
- {
- MESSAGE("Action_matrix_vector_product Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_vector(B_stl,_size);
- init_vector(X_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
-
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(A,A_stl);
- Interface::vector_from_stl(B_ref,B_stl);
- Interface::vector_from_stl(B,B_stl);
- Interface::vector_from_stl(X_ref,X_stl);
- Interface::vector_from_stl(X,X_stl);
-
- }
-
- // invalidate copy ctor
-
- Action_matrix_vector_product( const Action_matrix_vector_product & )
- {
- INFOS("illegal call to Action_matrix_vector_product Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- BTL_DONT_INLINE ~Action_matrix_vector_product( void ){
-
- MESSAGE("Action_matrix_vector_product Dtor");
-
- // deallocation
-
- Interface::free_matrix(A,_size);
- Interface::free_vector(B);
- Interface::free_vector(X);
-
- Interface::free_matrix(A_ref,_size);
- Interface::free_vector(B_ref);
- Interface::free_vector(X_ref);
-
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "matrix_vector_" + Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size*_size;
- }
-
- BTL_DONT_INLINE void initialize( void ){
-
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_vector(B_ref,B,_size);
- Interface::copy_vector(X_ref,X,_size);
-
- }
-
- BTL_DONT_INLINE void calculate( void ) {
- BTL_ASM_COMMENT("#begin matrix_vector_product");
- Interface::matrix_vector_product(A,B,X,_size);
- BTL_ASM_COMMENT("end matrix_vector_product");
- }
-
- BTL_DONT_INLINE void check_result( void ){
-
- // calculation check
-
- Interface::vector_to_stl(X,resu_stl);
-
- STL_interface::matrix_vector_product(A_stl,B_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-5){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(0);
- }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_vector B_ref;
- typename Interface::gene_vector X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_vector B;
- typename Interface::gene_vector X;
-
-
- int _size;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_partial_lu.hh b/eigen/bench/btl/actions/action_partial_lu.hh
deleted file mode 100644
index 770ea1d..0000000
--- a/eigen/bench/btl/actions/action_partial_lu.hh
+++ /dev/null
@@ -1,125 +0,0 @@
-//=====================================================
-// File : action_lu_decomp.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_PARTIAL_LU
-#define ACTION_PARTIAL_LU
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_partial_lu {
-
-public :
-
- // Ctor
-
- Action_partial_lu( int size ):_size(size)
- {
- MESSAGE("Action_partial_lu Ctor");
-
- // STL vector initialization
- init_matrix(X_stl,_size);
- init_matrix(C_stl,_size);
-
- // make sure X is invertible
- for (int i=0; i<_size; ++i)
- X_stl[i][i] = X_stl[i][i] * 1e2 + 1;
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(X_ref,X_stl);
- Interface::matrix_from_stl(X,X_stl);
- Interface::matrix_from_stl(C,C_stl);
-
- _cost = 2.0*size*size*size/3.0 + size*size;
- }
-
- // invalidate copy ctor
-
- Action_partial_lu( const Action_partial_lu & )
- {
- INFOS("illegal call to Action_partial_lu Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_partial_lu( void ){
-
- MESSAGE("Action_partial_lu Dtor");
-
- // deallocation
- Interface::free_matrix(X_ref,_size);
- Interface::free_matrix(X,_size);
- Interface::free_matrix(C,_size);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "partial_lu_decomp_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return _cost;
- }
-
- inline void initialize( void ){
- Interface::copy_matrix(X_ref,X,_size);
- }
-
- inline void calculate( void ) {
- Interface::partial_lu_decomp(X,C,_size);
- }
-
- void check_result( void ){
- // calculation check
-// Interface::matrix_to_stl(C,resu_stl);
-
-// STL_interface::lu_decomp(X_stl,C_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(C_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix C_stl;
-
- typename Interface::gene_matrix X_ref;
- typename Interface::gene_matrix X;
- typename Interface::gene_matrix C;
-
- int _size;
- double _cost;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_rot.hh b/eigen/bench/btl/actions/action_rot.hh
deleted file mode 100644
index df822a6..0000000
--- a/eigen/bench/btl/actions/action_rot.hh
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_ROT
-#define ACTION_ROT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_rot {
-
-public :
-
- // Ctor
- BTL_DONT_INLINE Action_rot( int size ):_size(size)
- {
- MESSAGE("Action_rot Ctor");
-
- // STL matrix and vector initialization
- typename Interface::stl_matrix tmp;
- init_vector(A_stl,_size);
- init_vector(B_stl,_size);
-
- // generic matrix and vector initialization
- Interface::vector_from_stl(A_ref,A_stl);
- Interface::vector_from_stl(A,A_stl);
- Interface::vector_from_stl(B_ref,B_stl);
- Interface::vector_from_stl(B,B_stl);
- }
-
- // invalidate copy ctor
- Action_rot( const Action_rot & )
- {
- INFOS("illegal call to Action_rot Copy Ctor");
- exit(1);
- }
-
- // Dtor
- BTL_DONT_INLINE ~Action_rot( void ){
- MESSAGE("Action_rot Dtor");
- Interface::free_vector(A);
- Interface::free_vector(B);
- Interface::free_vector(A_ref);
- Interface::free_vector(B_ref);
- }
-
- // action name
- static inline std::string name( void )
- {
- return "rot_" + Interface::name();
- }
-
- double nb_op_base( void ){
- return 6.0*_size;
- }
-
- BTL_DONT_INLINE void initialize( void ){
- Interface::copy_vector(A_ref,A,_size);
- Interface::copy_vector(B_ref,B,_size);
- }
-
- BTL_DONT_INLINE void calculate( void ) {
- BTL_ASM_COMMENT("#begin rot");
- Interface::rot(A,B,0.5,0.6,_size);
- BTL_ASM_COMMENT("end rot");
- }
-
- BTL_DONT_INLINE void check_result( void ){
- // calculation check
-// Interface::vector_to_stl(X,resu_stl);
-
-// STL_interface::rot(A_stl,B_stl,X_stl,_size);
-
-// typename Interface::real_type error=
-// STL_interface::norm_diff(X_stl,resu_stl);
-
-// if (error>1.e-3){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
-// }
-
- }
-
-private :
-
- typename Interface::stl_vector A_stl;
- typename Interface::stl_vector B_stl;
-
- typename Interface::gene_vector A_ref;
- typename Interface::gene_vector B_ref;
-
- typename Interface::gene_vector A;
- typename Interface::gene_vector B;
-
- int _size;
-};
-
-
-#endif
diff --git a/eigen/bench/btl/actions/action_symv.hh b/eigen/bench/btl/actions/action_symv.hh
deleted file mode 100644
index a32b9df..0000000
--- a/eigen/bench/btl/actions/action_symv.hh
+++ /dev/null
@@ -1,139 +0,0 @@
-//=====================================================
-// File : action_symv.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_SYMV
-#define ACTION_SYMV
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_symv {
-
-public :
-
- // Ctor
-
- BTL_DONT_INLINE Action_symv( int size ):_size(size)
- {
- MESSAGE("Action_symv Ctor");
-
- // STL matrix and vector initialization
- init_matrix_symm(A_stl,_size);
- init_vector(B_stl,_size);
- init_vector(X_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(A,A_stl);
- Interface::vector_from_stl(B_ref,B_stl);
- Interface::vector_from_stl(B,B_stl);
- Interface::vector_from_stl(X_ref,X_stl);
- Interface::vector_from_stl(X,X_stl);
-
- }
-
- // invalidate copy ctor
-
- Action_symv( const Action_symv & )
- {
- INFOS("illegal call to Action_symv Copy Ctor");
- exit(1);
- }
-
- // Dtor
- BTL_DONT_INLINE ~Action_symv( void ){
- Interface::free_matrix(A,_size);
- Interface::free_vector(B);
- Interface::free_vector(X);
- Interface::free_matrix(A_ref,_size);
- Interface::free_vector(B_ref);
- Interface::free_vector(X_ref);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "symv_" + Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size*_size;
- }
-
- BTL_DONT_INLINE void initialize( void ){
-
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_vector(B_ref,B,_size);
- Interface::copy_vector(X_ref,X,_size);
-
- }
-
- BTL_DONT_INLINE void calculate( void ) {
- BTL_ASM_COMMENT("#begin symv");
- Interface::symv(A,B,X,_size);
- BTL_ASM_COMMENT("end symv");
- }
-
- BTL_DONT_INLINE void check_result( void ){
- if (_size>128) return;
- // calculation check
- Interface::vector_to_stl(X,resu_stl);
-
- STL_interface::symv(A_stl,B_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-5){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(0);
- }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_vector B_ref;
- typename Interface::gene_vector X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_vector B;
- typename Interface::gene_vector X;
-
-
- int _size;
-
-};
-
-
-#endif
diff --git a/eigen/bench/btl/actions/action_syr2.hh b/eigen/bench/btl/actions/action_syr2.hh
deleted file mode 100644
index 7c6712b..0000000
--- a/eigen/bench/btl/actions/action_syr2.hh
+++ /dev/null
@@ -1,133 +0,0 @@
-//=====================================================
-// File : action_syr2.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_SYR2
-#define ACTION_SYR2
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_syr2 {
-
-public :
-
- // Ctor
-
- BTL_DONT_INLINE Action_syr2( int size ):_size(size)
- {
- // STL matrix and vector initialization
- typename Interface::stl_matrix tmp;
- init_matrix(A_stl,_size);
- init_vector(B_stl,_size);
- init_vector(X_stl,_size);
- init_vector(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(A_ref,A_stl);
- Interface::matrix_from_stl(A,A_stl);
- Interface::vector_from_stl(B_ref,B_stl);
- Interface::vector_from_stl(B,B_stl);
- Interface::vector_from_stl(X_ref,X_stl);
- Interface::vector_from_stl(X,X_stl);
- }
-
- // invalidate copy ctor
- Action_syr2( const Action_syr2 & )
- {
- INFOS("illegal call to Action_syr2 Copy Ctor");
- exit(1);
- }
-
- // Dtor
- BTL_DONT_INLINE ~Action_syr2( void ){
- Interface::free_matrix(A,_size);
- Interface::free_vector(B);
- Interface::free_vector(X);
- Interface::free_matrix(A_ref,_size);
- Interface::free_vector(B_ref);
- Interface::free_vector(X_ref);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "syr2_" + Interface::name();
- }
-
- double nb_op_base( void ){
- return 2.0*_size*_size;
- }
-
- BTL_DONT_INLINE void initialize( void ){
- Interface::copy_matrix(A_ref,A,_size);
- Interface::copy_vector(B_ref,B,_size);
- Interface::copy_vector(X_ref,X,_size);
- }
-
- BTL_DONT_INLINE void calculate( void ) {
- BTL_ASM_COMMENT("#begin syr2");
- Interface::syr2(A,B,X,_size);
- BTL_ASM_COMMENT("end syr2");
- }
-
- BTL_DONT_INLINE void check_result( void ){
- // calculation check
- Interface::vector_to_stl(X,resu_stl);
-
- STL_interface::syr2(A_stl,B_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-3){
- INFOS("WRONG CALCULATION...residual=" << error);
-// exit(0);
- }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_vector B_ref;
- typename Interface::gene_vector X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_vector B;
- typename Interface::gene_vector X;
-
-
- int _size;
-
-};
-
-
-#endif
diff --git a/eigen/bench/btl/actions/action_trisolve.hh b/eigen/bench/btl/actions/action_trisolve.hh
deleted file mode 100644
index d6f0b47..0000000
--- a/eigen/bench/btl/actions/action_trisolve.hh
+++ /dev/null
@@ -1,137 +0,0 @@
-//=====================================================
-// File : action_trisolve.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_TRISOLVE
-#define ACTION_TRISOLVE
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_trisolve {
-
-public :
-
- // Ctor
-
- Action_trisolve( int size ):_size(size)
- {
- MESSAGE("Action_trisolve Ctor");
-
- // STL vector initialization
- init_matrix(L_stl,_size);
- init_vector(B_stl,_size);
- init_vector(X_stl,_size);
- for (int j=0; j<_size; ++j)
- {
- for (int i=0; i(resu_stl,_size);
-
- // generic matrix and vector initialization
- Interface::matrix_from_stl(L,L_stl);
- Interface::vector_from_stl(X,X_stl);
- Interface::vector_from_stl(B,B_stl);
-
- _cost = 0;
- for (int j=0; j<_size; ++j)
- {
- _cost += 2*j + 1;
- }
- }
-
- // invalidate copy ctor
-
- Action_trisolve( const Action_trisolve & )
- {
- INFOS("illegal call to Action_trisolve Copy Ctor");
- exit(1);
- }
-
- // Dtor
-
- ~Action_trisolve( void ){
-
- MESSAGE("Action_trisolve Dtor");
-
- // deallocation
- Interface::free_matrix(L,_size);
- Interface::free_vector(B);
- Interface::free_vector(X);
- }
-
- // action name
-
- static inline std::string name( void )
- {
- return "trisolve_vector_"+Interface::name();
- }
-
- double nb_op_base( void ){
- return _cost;
- }
-
- inline void initialize( void ){
- //Interface::copy_vector(X_ref,X,_size);
- }
-
- inline void calculate( void ) {
- Interface::trisolve_lower(L,B,X,_size);
- }
-
- void check_result(){
- if (_size>128) return;
- // calculation check
- Interface::vector_to_stl(X,resu_stl);
-
- STL_interface::trisolve_lower(L_stl,B_stl,X_stl,_size);
-
- typename Interface::real_type error=
- STL_interface::norm_diff(X_stl,resu_stl);
-
- if (error>1.e-4){
- INFOS("WRONG CALCULATION...residual=" << error);
- exit(2);
- } //else INFOS("CALCULATION OK...residual=" << error);
-
- }
-
-private :
-
- typename Interface::stl_matrix L_stl;
- typename Interface::stl_vector X_stl;
- typename Interface::stl_vector B_stl;
- typename Interface::stl_vector resu_stl;
-
- typename Interface::gene_matrix L;
- typename Interface::gene_vector X;
- typename Interface::gene_vector B;
-
- int _size;
- double _cost;
-};
-
-#endif
diff --git a/eigen/bench/btl/actions/action_trisolve_matrix.hh b/eigen/bench/btl/actions/action_trisolve_matrix.hh
deleted file mode 100644
index 0fc2bb9..0000000
--- a/eigen/bench/btl/actions/action_trisolve_matrix.hh
+++ /dev/null
@@ -1,165 +0,0 @@
-//=====================================================
-// File : action_matrix_matrix_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_TRISOLVE_MATRIX_PRODUCT
-#define ACTION_TRISOLVE_MATRIX_PRODUCT
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_trisolve_matrix {
-
-public :
-
- // Ctor
-
- Action_trisolve_matrix( int size ):_size(size)
- {
- MESSAGE("Action_trisolve_matrix Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_matrix(B_stl,_size);
- init_matrix(X_stl,_size);
- init_matrix(resu_stl,_size);
-
- for (int j=0; j<_size; ++j)
- {
- for (int i=0; i::matrix_matrix_product(A_stl,B_stl,X_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(X_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// // exit(1);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_matrix B_stl;
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_matrix B_ref;
- typename Interface::gene_matrix X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_matrix B;
- typename Interface::gene_matrix X;
-
- int _size;
- double _cost;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/action_trmm.hh b/eigen/bench/btl/actions/action_trmm.hh
deleted file mode 100644
index 8f78138..0000000
--- a/eigen/bench/btl/actions/action_trmm.hh
+++ /dev/null
@@ -1,165 +0,0 @@
-//=====================================================
-// File : action_matrix_matrix_product.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef ACTION_TRMM
-#define ACTION_TRMM
-#include "utilities.h"
-#include "STL_interface.hh"
-#include
-#include "init/init_function.hh"
-#include "init/init_vector.hh"
-#include "init/init_matrix.hh"
-
-using namespace std;
-
-template
-class Action_trmm {
-
-public :
-
- // Ctor
-
- Action_trmm( int size ):_size(size)
- {
- MESSAGE("Action_trmm Ctor");
-
- // STL matrix and vector initialization
-
- init_matrix(A_stl,_size);
- init_matrix(B_stl,_size);
- init_matrix(X_stl,_size);
- init_matrix(resu_stl,_size);
-
- for (int j=0; j<_size; ++j)
- {
- for (int i=0; i::matrix_matrix_product(A_stl,B_stl,X_stl,_size);
-//
-// typename Interface::real_type error=
-// STL_interface::norm_diff(X_stl,resu_stl);
-//
-// if (error>1.e-6){
-// INFOS("WRONG CALCULATION...residual=" << error);
-// // exit(1);
-// }
-
- }
-
-private :
-
- typename Interface::stl_matrix A_stl;
- typename Interface::stl_matrix B_stl;
- typename Interface::stl_matrix X_stl;
- typename Interface::stl_matrix resu_stl;
-
- typename Interface::gene_matrix A_ref;
- typename Interface::gene_matrix B_ref;
- typename Interface::gene_matrix X_ref;
-
- typename Interface::gene_matrix A;
- typename Interface::gene_matrix B;
- typename Interface::gene_matrix X;
-
- int _size;
- double _cost;
-
-};
-
-
-#endif
-
-
-
diff --git a/eigen/bench/btl/actions/basic_actions.hh b/eigen/bench/btl/actions/basic_actions.hh
deleted file mode 100644
index a3333ea..0000000
--- a/eigen/bench/btl/actions/basic_actions.hh
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#include "action_axpy.hh"
-#include "action_axpby.hh"
-
-#include "action_matrix_vector_product.hh"
-#include "action_atv_product.hh"
-
-#include "action_matrix_matrix_product.hh"
-// #include "action_ata_product.hh"
-#include "action_aat_product.hh"
-
-#include "action_trisolve.hh"
-#include "action_trmm.hh"
-#include "action_symv.hh"
-// #include "action_symm.hh"
-#include "action_syr2.hh"
-#include "action_ger.hh"
-#include "action_rot.hh"
-
-// #include "action_lu_solve.hh"
-
diff --git a/eigen/bench/btl/cmake/FindACML.cmake b/eigen/bench/btl/cmake/FindACML.cmake
deleted file mode 100644
index 4989fa2..0000000
--- a/eigen/bench/btl/cmake/FindACML.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-
-if (ACML_LIBRARIES)
- set(ACML_FIND_QUIETLY TRUE)
-endif (ACML_LIBRARIES)
-
-find_library(ACML_LIBRARIES
- NAMES
- acml_mp acml_mv
- PATHS
- $ENV{ACMLDIR}/lib
- $ENV{ACML_DIR}/lib
- ${LIB_INSTALL_DIR}
-)
-
-find_file(ACML_LIBRARIES
- NAMES
- libacml_mp.so
- PATHS
- /usr/lib
- /usr/lib64
- $ENV{ACMLDIR}/lib
- ${LIB_INSTALL_DIR}
-)
-
-if(NOT ACML_LIBRARIES)
- message(STATUS "Multi-threaded library not found, looking for single-threaded")
- find_library(ACML_LIBRARIES
- NAMES
- acml acml_mv
- PATHS
- $ENV{ACMLDIR}/lib
- $ENV{ACML_DIR}/lib
- ${LIB_INSTALL_DIR}
- )
- find_file(ACML_LIBRARIES
- libacml.so libacml_mv.so
- PATHS
- /usr/lib
- /usr/lib64
- $ENV{ACMLDIR}/lib
- ${LIB_INSTALL_DIR}
- )
-endif()
-
-
-
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(ACML DEFAULT_MSG ACML_LIBRARIES)
-
-mark_as_advanced(ACML_LIBRARIES)
diff --git a/eigen/bench/btl/cmake/FindATLAS.cmake b/eigen/bench/btl/cmake/FindATLAS.cmake
deleted file mode 100644
index 4136a98..0000000
--- a/eigen/bench/btl/cmake/FindATLAS.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-
-if (ATLAS_LIBRARIES)
- set(ATLAS_FIND_QUIETLY TRUE)
-endif (ATLAS_LIBRARIES)
-
-find_file(ATLAS_LIB libatlas.so.3 PATHS /usr/lib /usr/lib/atlas /usr/lib64 /usr/lib64/atlas $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
-find_library(ATLAS_LIB satlas PATHS $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
-
-find_file(ATLAS_LAPACK NAMES liblapack_atlas.so.3 liblapack.so.3 PATHS /usr/lib /usr/lib/atlas /usr/lib64 /usr/lib64/atlas $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
-find_library(ATLAS_LAPACK NAMES lapack_atlas lapack PATHS $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
-
-find_file(ATLAS_F77BLAS libf77blas.so.3 PATHS /usr/lib /usr/lib/atlas /usr/lib64 /usr/lib64/atlas $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
-find_library(ATLAS_F77BLAS f77blas PATHS $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
-
-if(ATLAS_LIB AND ATLAS_CBLAS AND ATLAS_LAPACK AND ATLAS_F77BLAS)
-
- set(ATLAS_LIBRARIES ${ATLAS_LAPACK} ${ATLAS_LIB})
-
- # search the default lapack lib link to it
- find_file(ATLAS_REFERENCE_LAPACK liblapack.so.3 PATHS /usr/lib /usr/lib64)
- find_library(ATLAS_REFERENCE_LAPACK NAMES lapack)
-# if(ATLAS_REFERENCE_LAPACK)
-# set(ATLAS_LIBRARIES ${ATLAS_LIBRARIES} ${ATLAS_REFERENCE_LAPACK})
-# endif()
-
-endif(ATLAS_LIB AND ATLAS_CBLAS AND ATLAS_LAPACK AND ATLAS_F77BLAS)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(ATLAS DEFAULT_MSG ATLAS_LIBRARIES)
-
-mark_as_advanced(ATLAS_LIBRARIES)
diff --git a/eigen/bench/btl/cmake/FindBLAZE.cmake b/eigen/bench/btl/cmake/FindBLAZE.cmake
deleted file mode 100644
index dba4c89..0000000
--- a/eigen/bench/btl/cmake/FindBLAZE.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-# - Try to find eigen2 headers
-# Once done this will define
-#
-# BLAZE_FOUND - system has blaze lib
-# BLAZE_INCLUDE_DIR - the blaze include directory
-#
-# Copyright (C) 2008 Gael Guennebaud
-# Adapted from FindEigen.cmake:
-# Copyright (c) 2006, 2007 Montel Laurent,
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-if (BLAZE_INCLUDE_DIR)
-
- # in cache already
- set(BLAZE_FOUND TRUE)
-
-else (BLAZE_INCLUDE_DIR)
-
-find_path(BLAZE_INCLUDE_DIR NAMES blaze/Blaze.h
- PATHS
- ${INCLUDE_INSTALL_DIR}
- )
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(BLAZE DEFAULT_MSG BLAZE_INCLUDE_DIR)
-
-mark_as_advanced(BLAZE_INCLUDE_DIR)
-
-endif(BLAZE_INCLUDE_DIR)
-
diff --git a/eigen/bench/btl/cmake/FindBlitz.cmake b/eigen/bench/btl/cmake/FindBlitz.cmake
deleted file mode 100644
index 92880bb..0000000
--- a/eigen/bench/btl/cmake/FindBlitz.cmake
+++ /dev/null
@@ -1,40 +0,0 @@
-# - Try to find blitz lib
-# Once done this will define
-#
-# BLITZ_FOUND - system has blitz lib
-# BLITZ_INCLUDES - the blitz include directory
-# BLITZ_LIBRARIES - The libraries needed to use blitz
-
-# Copyright (c) 2006, Montel Laurent,
-# Copyright (c) 2007, Allen Winter,
-# Copyright (C) 2008 Gael Guennebaud
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-# include(FindLibraryWithDebug)
-
-if (BLITZ_INCLUDES AND BLITZ_LIBRARIES)
- set(Blitz_FIND_QUIETLY TRUE)
-endif (BLITZ_INCLUDES AND BLITZ_LIBRARIES)
-
-find_path(BLITZ_INCLUDES
- NAMES
- blitz/array.h
- PATH_SUFFIXES blitz*
- PATHS
- $ENV{BLITZDIR}/include
- ${INCLUDE_INSTALL_DIR}
-)
-
-find_library(BLITZ_LIBRARIES
- blitz
- PATHS
- $ENV{BLITZDIR}/lib
- ${LIB_INSTALL_DIR}
-)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Blitz DEFAULT_MSG
- BLITZ_INCLUDES BLITZ_LIBRARIES)
-
-mark_as_advanced(BLITZ_INCLUDES BLITZ_LIBRARIES)
diff --git a/eigen/bench/btl/cmake/FindCBLAS.cmake b/eigen/bench/btl/cmake/FindCBLAS.cmake
deleted file mode 100644
index ce0f2f2..0000000
--- a/eigen/bench/btl/cmake/FindCBLAS.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# include(FindLibraryWithDebug)
-
-if (CBLAS_INCLUDES AND CBLAS_LIBRARIES)
- set(CBLAS_FIND_QUIETLY TRUE)
-endif (CBLAS_INCLUDES AND CBLAS_LIBRARIES)
-
-find_path(CBLAS_INCLUDES
- NAMES
- cblas.h
- PATHS
- $ENV{CBLASDIR}/include
- ${INCLUDE_INSTALL_DIR}
-)
-
-find_library(CBLAS_LIBRARIES
- cblas
- PATHS
- $ENV{CBLASDIR}/lib
- ${LIB_INSTALL_DIR}
-)
-
-find_file(CBLAS_LIBRARIES
- libcblas.so.3
- PATHS
- /usr/lib
- /usr/lib64
- $ENV{CBLASDIR}/lib
- ${LIB_INSTALL_DIR}
-)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(CBLAS DEFAULT_MSG
- CBLAS_INCLUDES CBLAS_LIBRARIES)
-
-mark_as_advanced(CBLAS_INCLUDES CBLAS_LIBRARIES)
diff --git a/eigen/bench/btl/cmake/FindGMM.cmake b/eigen/bench/btl/cmake/FindGMM.cmake
deleted file mode 100644
index 5049c64..0000000
--- a/eigen/bench/btl/cmake/FindGMM.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-if (GMM_INCLUDE_DIR)
- # in cache already
- set(GMM_FOUND TRUE)
-else (GMM_INCLUDE_DIR)
-
-find_path(GMM_INCLUDE_DIR NAMES gmm/gmm.h
- PATHS
- ${INCLUDE_INSTALL_DIR}
- ${GMM_INCLUDE_PATH}
- )
-
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMM DEFAULT_MSG GMM_INCLUDE_DIR )
-
-mark_as_advanced(GMM_INCLUDE_DIR)
-
-endif(GMM_INCLUDE_DIR)
diff --git a/eigen/bench/btl/cmake/FindMKL.cmake b/eigen/bench/btl/cmake/FindMKL.cmake
deleted file mode 100644
index f4d7c6e..0000000
--- a/eigen/bench/btl/cmake/FindMKL.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-
-if (MKL_LIBRARIES)
- set(MKL_FIND_QUIETLY TRUE)
-endif (MKL_LIBRARIES)
-
-if(CMAKE_MINOR_VERSION GREATER 4)
-
-if(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
-
-find_library(MKL_LIBRARIES
- mkl_core
- PATHS
- $ENV{MKLLIB}
- /opt/intel/mkl/*/lib/em64t
- /opt/intel/Compiler/*/*/mkl/lib/em64t
- ${LIB_INSTALL_DIR}
-)
-
-find_library(MKL_GUIDE
- guide
- PATHS
- $ENV{MKLLIB}
- /opt/intel/mkl/*/lib/em64t
- /opt/intel/Compiler/*/*/mkl/lib/em64t
- /opt/intel/Compiler/*/*/lib/intel64
- ${LIB_INSTALL_DIR}
-)
-
-if(MKL_LIBRARIES AND MKL_GUIDE)
- set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel_lp64 mkl_sequential ${MKL_GUIDE} pthread)
-endif()
-
-else(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
-
-find_library(MKL_LIBRARIES
- mkl_core
- PATHS
- $ENV{MKLLIB}
- /opt/intel/mkl/*/lib/32
- /opt/intel/Compiler/*/*/mkl/lib/32
- ${LIB_INSTALL_DIR}
-)
-
-find_library(MKL_GUIDE
- guide
- PATHS
- $ENV{MKLLIB}
- /opt/intel/mkl/*/lib/32
- /opt/intel/Compiler/*/*/mkl/lib/32
- /opt/intel/Compiler/*/*/lib/intel32
- ${LIB_INSTALL_DIR}
-)
-
-if(MKL_LIBRARIES AND MKL_GUIDE)
- set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel mkl_sequential ${MKL_GUIDE} pthread)
-endif()
-
-endif(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
-
-endif(CMAKE_MINOR_VERSION GREATER 4)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARIES)
-
-mark_as_advanced(MKL_LIBRARIES)
diff --git a/eigen/bench/btl/cmake/FindMTL4.cmake b/eigen/bench/btl/cmake/FindMTL4.cmake
deleted file mode 100644
index 3de4909..0000000
--- a/eigen/bench/btl/cmake/FindMTL4.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-# - Try to find eigen2 headers
-# Once done this will define
-#
-# MTL4_FOUND - system has eigen2 lib
-# MTL4_INCLUDE_DIR - the eigen2 include directory
-#
-# Copyright (C) 2008 Gael Guennebaud
-# Adapted from FindEigen.cmake:
-# Copyright (c) 2006, 2007 Montel Laurent,
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-if (MTL4_INCLUDE_DIR)
-
- # in cache already
- set(MTL4_FOUND TRUE)
-
-else (MTL4_INCLUDE_DIR)
-
-find_path(MTL4_INCLUDE_DIR NAMES boost/numeric/mtl/mtl.hpp
- PATHS
- ${INCLUDE_INSTALL_DIR}
- )
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(MTL4 DEFAULT_MSG MTL4_INCLUDE_DIR)
-
-mark_as_advanced(MTL4_INCLUDE_DIR)
-
-endif(MTL4_INCLUDE_DIR)
-
diff --git a/eigen/bench/btl/cmake/FindOPENBLAS.cmake b/eigen/bench/btl/cmake/FindOPENBLAS.cmake
deleted file mode 100644
index 2a09194..0000000
--- a/eigen/bench/btl/cmake/FindOPENBLAS.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-if (OPENBLAS_LIBRARIES)
- set(OPENBLAS_FIND_QUIETLY TRUE)
-endif (OPENBLAS_LIBRARIES)
-
-find_file(OPENBLAS_LIBRARIES NAMES libopenblas.so libopenblas.so.0 PATHS /usr/lib /usr/lib64 $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})
-find_library(OPENBLAS_LIBRARIES openblas PATHS $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})
-
-if(OPENBLAS_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
- set(OPENBLAS_LIBRARIES ${OPENBLAS_LIBRARIES} "-lpthread -lgfortran")
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(OPENBLAS DEFAULT_MSG
- OPENBLAS_LIBRARIES)
-
-mark_as_advanced(OPENBLAS_LIBRARIES)
diff --git a/eigen/bench/btl/cmake/FindPackageHandleStandardArgs.cmake b/eigen/bench/btl/cmake/FindPackageHandleStandardArgs.cmake
deleted file mode 100644
index 7f122ed..0000000
--- a/eigen/bench/btl/cmake/FindPackageHandleStandardArgs.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME (DEFAULT_MSG|"Custom failure message") VAR1 ... )
-#
-# This macro is intended to be used in FindXXX.cmake modules files.
-# It handles the REQUIRED and QUIET argument to FIND_PACKAGE() and
-# it also sets the _FOUND variable.
-# The package is found if all variables listed are TRUE.
-# Example:
-#
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
-#
-# LibXml2 is considered to be found, if both LIBXML2_LIBRARIES and
-# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
-# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
-# independent whether QUIET was used or not.
-#
-# If it is found, the location is reported using the VAR1 argument, so
-# here a message "Found LibXml2: /usr/lib/libxml2.so" will be printed out.
-# If the second argument is DEFAULT_MSG, the message in the failure case will
-# be "Could NOT find LibXml2", if you don't like this message you can specify
-# your own custom failure message there.
-
-MACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
-
- IF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
- IF (${_NAME}_FIND_REQUIRED)
- SET(_FAIL_MESSAGE "Could not find REQUIRED package ${_NAME}")
- ELSE (${_NAME}_FIND_REQUIRED)
- SET(_FAIL_MESSAGE "Could not find OPTIONAL package ${_NAME}")
- ENDIF (${_NAME}_FIND_REQUIRED)
- ELSE("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
- SET(_FAIL_MESSAGE "${_FAIL_MSG}")
- ENDIF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
-
- STRING(TOUPPER ${_NAME} _NAME_UPPER)
-
- SET(${_NAME_UPPER}_FOUND TRUE)
- IF(NOT ${_VAR1})
- SET(${_NAME_UPPER}_FOUND FALSE)
- ENDIF(NOT ${_VAR1})
-
- FOREACH(_CURRENT_VAR ${ARGN})
- IF(NOT ${_CURRENT_VAR})
- SET(${_NAME_UPPER}_FOUND FALSE)
- ENDIF(NOT ${_CURRENT_VAR})
- ENDFOREACH(_CURRENT_VAR)
-
- IF (${_NAME_UPPER}_FOUND)
- IF (NOT ${_NAME}_FIND_QUIETLY)
- MESSAGE(STATUS "Found ${_NAME}: ${${_VAR1}}")
- ENDIF (NOT ${_NAME}_FIND_QUIETLY)
- ELSE (${_NAME_UPPER}_FOUND)
- IF (${_NAME}_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "${_FAIL_MESSAGE}")
- ELSE (${_NAME}_FIND_REQUIRED)
- IF (NOT ${_NAME}_FIND_QUIETLY)
- MESSAGE(STATUS "${_FAIL_MESSAGE}")
- ENDIF (NOT ${_NAME}_FIND_QUIETLY)
- ENDIF (${_NAME}_FIND_REQUIRED)
- ENDIF (${_NAME_UPPER}_FOUND)
-ENDMACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
diff --git a/eigen/bench/btl/cmake/FindTvmet.cmake b/eigen/bench/btl/cmake/FindTvmet.cmake
deleted file mode 100644
index 26a29d9..0000000
--- a/eigen/bench/btl/cmake/FindTvmet.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
-# - Try to find tvmet headers
-# Once done this will define
-#
-# TVMET_FOUND - system has tvmet lib
-# TVMET_INCLUDE_DIR - the tvmet include directory
-#
-# Copyright (C) 2008 Gael Guennebaud
-# Adapted from FindEigen.cmake:
-# Copyright (c) 2006, 2007 Montel Laurent,
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-if (TVMET_INCLUDE_DIR)
-
- # in cache already
- set(TVMET_FOUND TRUE)
-
-else (TVMET_INCLUDE_DIR)
-
-find_path(TVMET_INCLUDE_DIR NAMES tvmet/tvmet.h
- PATHS
- ${TVMETDIR}/
- ${INCLUDE_INSTALL_DIR}
- )
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Tvmet DEFAULT_MSG TVMET_INCLUDE_DIR)
-
-mark_as_advanced(TVMET_INCLUDE_DIR)
-
-endif(TVMET_INCLUDE_DIR)
-
diff --git a/eigen/bench/btl/cmake/MacroOptionalAddSubdirectory.cmake b/eigen/bench/btl/cmake/MacroOptionalAddSubdirectory.cmake
deleted file mode 100644
index 545048b..0000000
--- a/eigen/bench/btl/cmake/MacroOptionalAddSubdirectory.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-# - MACRO_OPTIONAL_ADD_SUBDIRECTORY() combines ADD_SUBDIRECTORY() with an OPTION()
-# MACRO_OPTIONAL_ADD_SUBDIRECTORY( )
-# If you use MACRO_OPTIONAL_ADD_SUBDIRECTORY() instead of ADD_SUBDIRECTORY(),
-# this will have two effects
-# 1 - CMake will not complain if the directory doesn't exist
-# This makes sense if you want to distribute just one of the subdirs
-# in a source package, e.g. just one of the subdirs in kdeextragear.
-# 2 - If the directory exists, it will offer an option to skip the
-# subdirectory.
-# This is useful if you want to compile only a subset of all
-# directories.
-
-# Copyright (c) 2007, Alexander Neundorf,
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-
-MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir )
- GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE)
- IF(EXISTS ${_fullPath})
- IF(${ARGC} EQUAL 2)
- OPTION(BUILD_${_dir} "Build directory ${_dir}" ${ARGV1})
- ELSE(${ARGC} EQUAL 2)
- OPTION(BUILD_${_dir} "Build directory ${_dir}" TRUE)
- ENDIF(${ARGC} EQUAL 2)
- IF(BUILD_${_dir})
- ADD_SUBDIRECTORY(${_dir})
- ENDIF(BUILD_${_dir})
- ENDIF(EXISTS ${_fullPath})
-ENDMACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY)
diff --git a/eigen/bench/btl/data/CMakeLists.txt b/eigen/bench/btl/data/CMakeLists.txt
deleted file mode 100644
index 6af2a36..0000000
--- a/eigen/bench/btl/data/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-
-ADD_CUSTOM_TARGET(copy_scripts)
-
-SET(script_files go_mean mk_mean_script.sh mk_new_gnuplot.sh
- perlib_plot_settings.txt action_settings.txt gnuplot_common_settings.hh )
-
-FOREACH(script_file ${script_files})
-ADD_CUSTOM_COMMAND(
- TARGET copy_scripts
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${script_file} ${CMAKE_CURRENT_BINARY_DIR}/
- ARGS
-)
-ENDFOREACH(script_file)
-
-ADD_CUSTOM_COMMAND(
- TARGET copy_scripts
- POST_BUILD
- COMMAND ${CMAKE_CXX_COMPILER} --version | head -n 1 > ${CMAKE_CURRENT_BINARY_DIR}/compiler_version.txt
- ARGS
-)
-ADD_CUSTOM_COMMAND(
- TARGET copy_scripts
- POST_BUILD
- COMMAND echo "${Eigen_SOURCE_DIR}" > ${CMAKE_CURRENT_BINARY_DIR}/eigen_root_dir.txt
- ARGS
-)
-
-add_executable(smooth smooth.cxx)
-add_executable(regularize regularize.cxx)
-add_executable(main mean.cxx)
-add_dependencies(main copy_scripts)
diff --git a/eigen/bench/btl/data/action_settings.txt b/eigen/bench/btl/data/action_settings.txt
deleted file mode 100644
index 39d2b5d..0000000
--- a/eigen/bench/btl/data/action_settings.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-aat ; "{/*1.5 A x A^T}" ; "matrix size" ; 4:5000
-ata ; "{/*1.5 A^T x A}" ; "matrix size" ; 4:5000
-atv ; "{/*1.5 matrix^T x vector}" ; "matrix size" ; 4:5000
-axpby ; "{/*1.5 Y = alpha X + beta Y}" ; "vector size" ; 5:1000000
-axpy ; "{/*1.5 Y += alpha X}" ; "vector size" ; 5:1000000
-matrix_matrix ; "{/*1.5 matrix matrix product}" ; "matrix size" ; 4:5000
-matrix_vector ; "{/*1.5 matrix vector product}" ; "matrix size" ; 4:5000
-trmm ; "{/*1.5 triangular matrix matrix product}" ; "matrix size" ; 4:5000
-trisolve_vector ; "{/*1.5 triangular solver - vector (X = inv(L) X)}" ; "size" ; 4:5000
-trisolve_matrix ; "{/*1.5 triangular solver - matrix (M = inv(L) M)}" ; "size" ; 4:5000
-cholesky ; "{/*1.5 Cholesky decomposition}" ; "matrix size" ; 4:5000
-complete_lu_decomp ; "{/*1.5 Complete LU decomposition}" ; "matrix size" ; 4:5000
-partial_lu_decomp ; "{/*1.5 Partial LU decomposition}" ; "matrix size" ; 4:5000
-tridiagonalization ; "{/*1.5 Tridiagonalization}" ; "matrix size" ; 4:5000
-hessenberg ; "{/*1.5 Hessenberg decomposition}" ; "matrix size" ; 4:5000
-symv ; "{/*1.5 symmetric matrix vector product}" ; "matrix size" ; 4:5000
-syr2 ; "{/*1.5 symmretric rank-2 update (A += u^T v + u v^T)}" ; "matrix size" ; 4:5000
-ger ; "{/*1.5 general rank-1 update (A += u v^T)}" ; "matrix size" ; 4:5000
-rot ; "{/*1.5 apply rotation in the plane}" ; "vector size" ; 4:1000000
diff --git a/eigen/bench/btl/data/gnuplot_common_settings.hh b/eigen/bench/btl/data/gnuplot_common_settings.hh
deleted file mode 100644
index 6f677df..0000000
--- a/eigen/bench/btl/data/gnuplot_common_settings.hh
+++ /dev/null
@@ -1,87 +0,0 @@
-set noclip points
-set clip one
-set noclip two
-set bar 1.000000
-set border 31 lt -1 lw 1.000
-set xdata
-set ydata
-set zdata
-set x2data
-set y2data
-set boxwidth
-set dummy x,y
-set format x "%g"
-set format y "%g"
-set format x2 "%g"
-set format y2 "%g"
-set format z "%g"
-set angles radians
-set nogrid
-set key title ""
-set key left top Right noreverse box linetype -2 linewidth 1.000 samplen 4 spacing 1 width 0
-set nolabel
-set noarrow
-# set nolinestyle # deprecated
-set nologscale
-set logscale x 10
-set offsets 0, 0, 0, 0
-set pointsize 1
-set encoding default
-set nopolar
-set noparametric
-set view 60, 30, 1, 1
-set samples 100, 100
-set isosamples 10, 10
-set surface
-set nocontour
-set clabel '%8.3g'
-set mapping cartesian
-set nohidden3d
-set cntrparam order 4
-set cntrparam linear
-set cntrparam levels auto 5
-set cntrparam points 5
-set size ratio 0 1,1
-set origin 0,0
-# set data style lines
-# set function style lines
-set xzeroaxis lt -2 lw 1.000
-set x2zeroaxis lt -2 lw 1.000
-set yzeroaxis lt -2 lw 1.000
-set y2zeroaxis lt -2 lw 1.000
-set tics in
-set ticslevel 0.5
-set tics scale 1, 0.5
-set mxtics default
-set mytics default
-set mx2tics default
-set my2tics default
-set xtics border mirror norotate autofreq
-set ytics border mirror norotate autofreq
-set ztics border nomirror norotate autofreq
-set nox2tics
-set noy2tics
-set timestamp "" bottom norotate offset 0,0
-set rrange [ * : * ] noreverse nowriteback # (currently [-0:10] )
-set trange [ * : * ] noreverse nowriteback # (currently [-5:5] )
-set urange [ * : * ] noreverse nowriteback # (currently [-5:5] )
-set vrange [ * : * ] noreverse nowriteback # (currently [-5:5] )
-set xlabel "matrix size" offset 0,0
-set x2label "" offset 0,0
-set timefmt "%d/%m/%y\n%H:%M"
-set xrange [ 10 : 1000 ] noreverse nowriteback
-set x2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
-set ylabel "MFLOPS" offset 0,0
-set y2label "" offset 0,0
-set yrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
-set y2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
-set zlabel "" offset 0,0
-set zrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
-set zero 1e-08
-set lmargin -1
-set bmargin -1
-set rmargin -1
-set tmargin -1
-set locale "C"
-set xrange [4:1024]
-
diff --git a/eigen/bench/btl/data/go_mean b/eigen/bench/btl/data/go_mean
deleted file mode 100644
index 42338ca..0000000
--- a/eigen/bench/btl/data/go_mean
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-
-if [ $# < 1 ]; then
- echo "Usage: $0 working_directory [tiny|large [prefix]]"
-else
-
-mkdir -p $1
-##cp ../libs/*/*.dat $1
-
-mode=large
-if [ $# > 2 ]; then
- mode=$2
-fi
-if [ $# > 3 ]; then
- prefix=$3
-fi
-
-EIGENDIR=`cat eigen_root_dir.txt`
-
-webpagefilename=$1/index.html
-meanstatsfilename=$1/mean.html
-
-echo '' > $meanstatsfilename
-echo '' > $webpagefilename
-echo 'Configuration' >> $webpagefilename
-echo '
'\
- '- ' `cat /proc/cpuinfo | grep "model name" | head -n 1`\
- ' (' `uname -m` ')
'\
- '- compiler: ' `cat compiler_version.txt` '
'\
- '- eigen3: ' `hg identify -i $EIGENDIR` '
'\
- '
' \
- '
' >> $webpagefilename
-
-source mk_mean_script.sh axpy $1 11 2500 100000 250000 $mode $prefix
-source mk_mean_script.sh axpby $1 11 2500 100000 250000 $mode $prefix
-source mk_mean_script.sh matrix_vector $1 11 50 300 1000 $mode $prefix
-source mk_mean_script.sh atv $1 11 50 300 1000 $mode $prefix
-source mk_mean_script.sh matrix_matrix $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh aat $1 11 100 300 1000 $mode $prefix
-# source mk_mean_script.sh ata $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh trmm $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh trisolve_vector $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh trisolve_matrix $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh cholesky $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh partial_lu_decomp $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh tridiagonalization $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh hessenberg $1 11 100 300 1000 $mode $prefix
-source mk_mean_script.sh symv $1 11 50 300 1000 $mode $prefix
-source mk_mean_script.sh syr2 $1 11 50 300 1000 $mode $prefix
-source mk_mean_script.sh ger $1 11 50 300 1000 $mode $prefix
-source mk_mean_script.sh rot $1 11 2500 100000 250000 $mode $prefix
-source mk_mean_script.sh complete_lu_decomp $1 11 100 300 1000 $mode $prefix
-
-fi
-
-## compile the web page ##
-
-#echo `cat footer.html` >> $webpagefilename
\ No newline at end of file
diff --git a/eigen/bench/btl/data/mean.cxx b/eigen/bench/btl/data/mean.cxx
deleted file mode 100644
index c567ef3..0000000
--- a/eigen/bench/btl/data/mean.cxx
+++ /dev/null
@@ -1,182 +0,0 @@
-//=====================================================
-// File : mean.cxx
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:15 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#include "utilities.h"
-#include
-#include
-#include
-#include
-#include "bench_parameter.hh"
-#include "utils/xy_file.hh"
-#include
-
-using namespace std;
-
-double mean_calc(const vector & tab_sizes, const vector & tab_mflops, const int size_min, const int size_max);
-
-class Lib_Mean{
-
-public:
- Lib_Mean( void ):_lib_name(),_mean_in_cache(),_mean_out_of_cache(){
- MESSAGE("Lib_mean Default Ctor");
- MESSAGE("!!! should not be used");
- exit(0);
- }
- Lib_Mean(const string & name, const double & mic, const double & moc):_lib_name(name),_mean_in_cache(mic),_mean_out_of_cache(moc){
- MESSAGE("Lib_mean Ctor");
- }
- Lib_Mean(const Lib_Mean & lm):_lib_name(lm._lib_name),_mean_in_cache(lm._mean_in_cache),_mean_out_of_cache(lm._mean_out_of_cache){
- MESSAGE("Lib_mean Copy Ctor");
- }
- ~Lib_Mean( void ){
- MESSAGE("Lib_mean Dtor");
- }
-
- double _mean_in_cache;
- double _mean_out_of_cache;
- string _lib_name;
-
- bool operator < ( const Lib_Mean &right) const
- {
- //return ( this->_mean_out_of_cache > right._mean_out_of_cache) ;
- return ( this->_mean_in_cache > right._mean_in_cache) ;
- }
-
-};
-
-
-int main( int argc , char *argv[] )
-{
-
- if (argc<6){
- INFOS("!!! Error ... usage : main what mic Mic moc Moc filename1 finename2...");
- exit(0);
- }
- INFOS(argc);
-
- int min_in_cache=atoi(argv[2]);
- int max_in_cache=atoi(argv[3]);
- int min_out_of_cache=atoi(argv[4]);
- int max_out_of_cache=atoi(argv[5]);
-
-
- multiset s_lib_mean ;
-
- for (int i=6;i tab_sizes;
- vector tab_mflops;
-
- read_xy_file(filename,tab_sizes,tab_mflops);
-
- mic=mean_calc(tab_sizes,tab_mflops,min_in_cache,max_in_cache);
- moc=mean_calc(tab_sizes,tab_mflops,min_out_of_cache,max_out_of_cache);
-
- Lib_Mean cur_lib_mean(filename,mic,moc);
-
- s_lib_mean.insert(cur_lib_mean);
-
- }
-
- }
-
-
- cout << "" << endl ;
- cout << " " << endl ;
- cout << " " << argv[1] << " | " << endl ;
- cout << " in cache mean perf Mflops | " << endl ;
- cout << " in cache % best | " << endl ;
- cout << " out of cache mean perf Mflops | " << endl ;
- cout << " out of cache % best | " << endl ;
- cout << " details | " << endl ;
- cout << " comments | " << endl ;
- cout << "
" << endl ;
-
- multiset::iterator is = s_lib_mean.begin();
- Lib_Mean best(*is);
-
-
- for (is=s_lib_mean.begin(); is!=s_lib_mean.end() ; is++){
-
- cout << " " << endl ;
- cout << " " << is->_lib_name << " | " << endl ;
- cout << " " << is->_mean_in_cache << " | " << endl ;
- cout << " " << 100*(is->_mean_in_cache/best._mean_in_cache) << " | " << endl ;
- cout << " " << is->_mean_out_of_cache << " | " << endl ;
- cout << " " << 100*(is->_mean_out_of_cache/best._mean_out_of_cache) << " | " << endl ;
- cout << " " <<
- "_lib_name<<"_"<snippet/"
- "_lib_name<<"_flags\">flags | " << endl ;
- cout << " " <<
- "_lib_name<<"_comments\">click here | " << endl ;
- cout << "
" << endl ;
-
- }
-
- cout << "
" << endl ;
-
- ofstream output_file ("../order_lib",ios::out) ;
-
- for (is=s_lib_mean.begin(); is!=s_lib_mean.end() ; is++){
- output_file << is->_lib_name << endl ;
- }
-
- output_file.close();
-
-}
-
-double mean_calc(const vector & tab_sizes, const vector & tab_mflops, const int size_min, const int size_max){
-
- int size=tab_sizes.size();
- int nb_sample=0;
- double mean=0.0;
-
- for (int i=0;i=size_min)&&(tab_sizes[i]<=size_max)){
-
- nb_sample++;
- mean+=tab_mflops[i];
-
- }
-
-
- }
-
- if (nb_sample==0){
- INFOS("no data for mean calculation");
- return 0.0;
- }
-
- return mean/nb_sample;
-}
-
-
-
-
diff --git a/eigen/bench/btl/data/mk_gnuplot_script.sh b/eigen/bench/btl/data/mk_gnuplot_script.sh
deleted file mode 100644
index 2ca7b5c..0000000
--- a/eigen/bench/btl/data/mk_gnuplot_script.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /bin/bash
-WHAT=$1
-DIR=$2
-echo $WHAT script generation
-cat $WHAT.hh > $WHAT.gnuplot
-
-DATA_FILE=`find $DIR -name "*.dat" | grep $WHAT`
-
-echo plot \\ >> $WHAT.gnuplot
-
-for FILE in $DATA_FILE
-do
- LAST=$FILE
-done
-
-echo LAST=$LAST
-
-for FILE in $DATA_FILE
-do
- if [ $FILE != $LAST ]
- then
- BASE=${FILE##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
- echo "'"$FILE"'" title "'"$TITLE"'" ",\\" >> $WHAT.gnuplot
- fi
-done
-BASE=${LAST##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
-echo "'"$LAST"'" title "'"$TITLE"'" >> $WHAT.gnuplot
-
-#echo set term postscript color >> $WHAT.gnuplot
-#echo set output "'"$WHAT.ps"'" >> $WHAT.gnuplot
-echo set term pbm small color >> $WHAT.gnuplot
-echo set output "'"$WHAT.ppm"'" >> $WHAT.gnuplot
-echo plot \\ >> $WHAT.gnuplot
-
-for FILE in $DATA_FILE
-do
- if [ $FILE != $LAST ]
- then
- BASE=${FILE##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
- echo "'"$FILE"'" title "'"$TITLE"'" ",\\" >> $WHAT.gnuplot
- fi
-done
-BASE=${LAST##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
-echo "'"$LAST"'" title "'"$TITLE"'" >> $WHAT.gnuplot
-
-echo set term jpeg large >> $WHAT.gnuplot
-echo set output "'"$WHAT.jpg"'" >> $WHAT.gnuplot
-echo plot \\ >> $WHAT.gnuplot
-
-for FILE in $DATA_FILE
-do
- if [ $FILE != $LAST ]
- then
- BASE=${FILE##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
- echo "'"$FILE"'" title "'"$TITLE"'" ",\\" >> $WHAT.gnuplot
- fi
-done
-BASE=${LAST##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
-echo "'"$LAST"'" title "'"$TITLE"'" >> $WHAT.gnuplot
-
-
-gnuplot -persist < $WHAT.gnuplot
-
-rm $WHAT.gnuplot
-
-
-
-
diff --git a/eigen/bench/btl/data/mk_mean_script.sh b/eigen/bench/btl/data/mk_mean_script.sh
deleted file mode 100644
index b10df02..0000000
--- a/eigen/bench/btl/data/mk_mean_script.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/bash
-WHAT=$1
-DIR=$2
-MINIC=$3
-MAXIC=$4
-MINOC=$5
-MAXOC=$6
-prefix=$8
-
-meanstatsfilename=$2/mean.html
-
-WORK_DIR=tmp
-mkdir $WORK_DIR
-
-DATA_FILE=`find $DIR -name "*.dat" | grep _${WHAT}`
-
-if [ -n "$DATA_FILE" ]; then
-
- echo ""
- echo "$1..."
- for FILE in $DATA_FILE
- do
- ##echo hello world
- ##echo "mk_mean_script1" ${FILE}
- BASE=${FILE##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
-
- ##echo "mk_mean_script1" ${TITLE}
- cp $FILE ${WORK_DIR}/${TITLE}
-
- done
-
- cd $WORK_DIR
- ../main $1 $3 $4 $5 $6 * >> ../$meanstatsfilename
- ../mk_new_gnuplot.sh $1 $2 $7
- rm -f *.gnuplot
- cd ..
-
- echo '
' >> $meanstatsfilename
-
- webpagefilename=$2/index.html
- # echo ''${WHAT}'
' >> $webpagefilename
- echo '

' >> $webpagefilename
-
-fi
-
-rm -R $WORK_DIR
-
-
-
-
-
-
diff --git a/eigen/bench/btl/data/mk_new_gnuplot.sh b/eigen/bench/btl/data/mk_new_gnuplot.sh
deleted file mode 100644
index fad3b23..0000000
--- a/eigen/bench/btl/data/mk_new_gnuplot.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-WHAT=$1
-DIR=$2
-
-cat ../gnuplot_common_settings.hh > ${WHAT}.gnuplot
-
-echo "set title " `grep ${WHAT} ../action_settings.txt | head -n 1 | cut -d ";" -f 2` >> $WHAT.gnuplot
-echo "set xlabel " `grep ${WHAT} ../action_settings.txt | head -n 1 | cut -d ";" -f 3` " offset 0,0" >> $WHAT.gnuplot
-echo "set xrange [" `grep ${WHAT} ../action_settings.txt | head -n 1 | cut -d ";" -f 4` "]" >> $WHAT.gnuplot
-
-if [ $# > 3 ]; then
- if [ "$3" == "tiny" ]; then
- echo "set xrange [2:16]" >> $WHAT.gnuplot
- echo "set nologscale" >> $WHAT.gnuplot
- fi
-fi
-
-
-
-DATA_FILE=`cat ../order_lib`
-echo set term postscript color rounded enhanced >> $WHAT.gnuplot
-echo set output "'"../${DIR}/$WHAT.ps"'" >> $WHAT.gnuplot
-
-# echo set term svg color rounded enhanced >> $WHAT.gnuplot
-# echo "set terminal svg enhanced size 1000 1000 fname \"Times\" fsize 36" >> $WHAT.gnuplot
-# echo set output "'"../${DIR}/$WHAT.svg"'" >> $WHAT.gnuplot
-
-echo plot \\ >> $WHAT.gnuplot
-
-for FILE in $DATA_FILE
-do
- LAST=$FILE
-done
-
-for FILE in $DATA_FILE
-do
- BASE=${FILE##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
-
- echo "'"$FILE"'" `grep $TITLE ../perlib_plot_settings.txt | head -n 1 | cut -d ";" -f 2` "\\" >> $WHAT.gnuplot
- if [ $FILE != $LAST ]
- then
- echo ", \\" >> $WHAT.gnuplot
- fi
-done
-echo " " >> $WHAT.gnuplot
-
-gnuplot -persist < $WHAT.gnuplot
-
-rm $WHAT.gnuplot
-
-ps2pdf ../${DIR}/$WHAT.ps ../${DIR}/$WHAT.pdf
-convert -background white -density 120 -rotate 90 -resize 800 +dither -colors 256 -quality 0 ../${DIR}/$WHAT.ps -background white -flatten ../${DIR}/$WHAT.png
-
-# pstoedit -rotate -90 -xscale 0.8 -yscale 0.8 -centered -yshift -50 -xshift -100 -f plot-svg aat.ps aat2.svg
diff --git a/eigen/bench/btl/data/perlib_plot_settings.txt b/eigen/bench/btl/data/perlib_plot_settings.txt
deleted file mode 100644
index f023cfe..0000000
--- a/eigen/bench/btl/data/perlib_plot_settings.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-eigen3 ; with lines lw 4 lt 1 lc rgbcolor "black"
-eigen2 ; with lines lw 3 lt 1 lc rgbcolor "#999999"
-EigenBLAS ; with lines lw 3 lt 3 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"
-INTEL_MKL ; with lines lw 3 lt 1 lc rgbcolor "#ff0000"
-ATLAS ; with lines lw 3 lt 1 lc rgbcolor "#008000"
-gmm ; with lines lw 3 lt 1 lc rgbcolor "#0000ff"
-ublas ; with lines lw 3 lt 1 lc rgbcolor "#00b7ff"
-mtl4 ; with lines lw 3 lt 1 lc rgbcolor "#d18847"
-blitz ; with lines lw 3 lt 1 lc rgbcolor "#ff00ff"
-F77 ; with lines lw 3 lt 3 lc rgbcolor "#e6e64c"
-OPENBLAS ; with lines lw 3 lt 1 lc rgbcolor "#C05600"
-C ; with lines lw 3 lt 3 lc rgbcolor "#e6bd96"
-ACML ; with lines lw 2 lt 3 lc rgbcolor "#e6e64c"
-blaze ; with lines lw 3 lt 1 lc rgbcolor "#ff00ff"
diff --git a/eigen/bench/btl/data/regularize.cxx b/eigen/bench/btl/data/regularize.cxx
deleted file mode 100644
index eea2b8b..0000000
--- a/eigen/bench/btl/data/regularize.cxx
+++ /dev/null
@@ -1,131 +0,0 @@
-//=====================================================
-// File : regularize.cxx
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:15 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#include "utilities.h"
-#include
-#include
-#include
-#include
-#include "bench_parameter.hh"
-#include
-
-using namespace std;
-
-void read_xy_file(const string & filename, vector & tab_sizes, vector & tab_mflops);
-void regularize_curve(const string & filename,
- const vector & tab_mflops,
- const vector & tab_sizes,
- int start_cut_size, int stop_cut_size);
-/////////////////////////////////////////////////////////////////////////////////////////////////
-
-int main( int argc , char *argv[] )
-{
-
- // input data
-
- if (argc<4){
- INFOS("!!! Error ... usage : main filename start_cut_size stop_cut_size regularize_filename");
- exit(0);
- }
- INFOS(argc);
-
- int start_cut_size=atoi(argv[2]);
- int stop_cut_size=atoi(argv[3]);
-
- string filename=argv[1];
- string regularize_filename=argv[4];
-
- INFOS(filename);
- INFOS("start_cut_size="< tab_sizes;
- vector tab_mflops;
-
- read_xy_file(filename,tab_sizes,tab_mflops);
-
- // regularizeing
-
- regularize_curve(regularize_filename,tab_mflops,tab_sizes,start_cut_size,stop_cut_size);
-
-
-}
-
-//////////////////////////////////////////////////////////////////////////////////////
-
-void regularize_curve(const string & filename,
- const vector & tab_mflops,
- const vector & tab_sizes,
- int start_cut_size, int stop_cut_size)
-{
- int size=tab_mflops.size();
- ofstream output_file (filename.c_str(),ios::out) ;
-
- int i=0;
-
- while(tab_sizes[i] & tab_sizes, vector & tab_mflops){
-
- ifstream input_file (filename.c_str(),ios::in) ;
-
- if (!input_file){
- INFOS("!!! Error opening "<> size >> mflops ){
- nb_point++;
- tab_sizes.push_back(size);
- tab_mflops.push_back(mflops);
- }
- SCRUTE(nb_point);
-
- input_file.close();
-}
-
diff --git a/eigen/bench/btl/data/smooth.cxx b/eigen/bench/btl/data/smooth.cxx
deleted file mode 100644
index e5270cc..0000000
--- a/eigen/bench/btl/data/smooth.cxx
+++ /dev/null
@@ -1,198 +0,0 @@
-//=====================================================
-// File : smooth.cxx
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:15 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#include "utilities.h"
-#include
-#include
-#include
-#include
-#include
-#include "bench_parameter.hh"
-#include
-
-using namespace std;
-
-void read_xy_file(const string & filename, vector & tab_sizes, vector & tab_mflops);
-void write_xy_file(const string & filename, vector & tab_sizes, vector & tab_mflops);
-void smooth_curve(const vector & tab_mflops, vector & smooth_tab_mflops,int window_half_width);
-void centered_smooth_curve(const vector & tab_mflops, vector & smooth_tab_mflops,int window_half_width);
-
-/////////////////////////////////////////////////////////////////////////////////////////////////
-
-int main( int argc , char *argv[] )
-{
-
- // input data
-
- if (argc<3){
- INFOS("!!! Error ... usage : main filename window_half_width smooth_filename");
- exit(0);
- }
- INFOS(argc);
-
- int window_half_width=atoi(argv[2]);
-
- string filename=argv[1];
- string smooth_filename=argv[3];
-
- INFOS(filename);
- INFOS("window_half_width="< tab_sizes;
- vector tab_mflops;
-
- read_xy_file(filename,tab_sizes,tab_mflops);
-
- // smoothing
-
- vector smooth_tab_mflops;
-
- //smooth_curve(tab_mflops,smooth_tab_mflops,window_half_width);
- centered_smooth_curve(tab_mflops,smooth_tab_mflops,window_half_width);
-
- // output result
-
- write_xy_file(smooth_filename,tab_sizes,smooth_tab_mflops);
-
-
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-template
-double weighted_mean(const VECTOR & data)
-{
-
- double mean=0.0;
-
- for (int i=0 ; i & tab_mflops, vector & smooth_tab_mflops,int window_half_width){
-
- int window_width=2*window_half_width+1;
-
- int size=tab_mflops.size();
-
- vector sample(window_width);
-
- for (int i=0 ; i < size ; i++){
-
- for ( int j=0 ; j < window_width ; j++ ){
-
- int shifted_index=i+j-window_half_width;
- if (shifted_index<0) shifted_index=0;
- if (shifted_index>size-1) shifted_index=size-1;
- sample[j]=tab_mflops[shifted_index];
-
- }
-
- smooth_tab_mflops.push_back(weighted_mean(sample));
-
- }
-
-}
-
-void centered_smooth_curve(const vector & tab_mflops, vector & smooth_tab_mflops,int window_half_width){
-
- int max_window_width=2*window_half_width+1;
-
- int size=tab_mflops.size();
-
-
- for (int i=0 ; i < size ; i++){
-
- deque sample;
-
-
- sample.push_back(tab_mflops[i]);
-
- for ( int j=1 ; j <= window_half_width ; j++ ){
-
- int before=i-j;
- int after=i+j;
-
- if ((before>=0)&&(after & tab_sizes, vector & tab_mflops){
-
- ofstream output_file (filename.c_str(),ios::out) ;
-
- for (int i=0 ; i < tab_sizes.size() ; i++)
- {
- output_file << tab_sizes[i] << " " << tab_mflops[i] << endl ;
- }
-
- output_file.close();
-
-}
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-void read_xy_file(const string & filename, vector & tab_sizes, vector & tab_mflops){
-
- ifstream input_file (filename.c_str(),ios::in) ;
-
- if (!input_file){
- INFOS("!!! Error opening "<> size >> mflops ){
- nb_point++;
- tab_sizes.push_back(size);
- tab_mflops.push_back(mflops);
- }
- SCRUTE(nb_point);
-
- input_file.close();
-}
-
diff --git a/eigen/bench/btl/data/smooth_all.sh b/eigen/bench/btl/data/smooth_all.sh
deleted file mode 100644
index 3e5bfdf..0000000
--- a/eigen/bench/btl/data/smooth_all.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /bin/bash
-ORIG_DIR=$1
-SMOOTH_DIR=${ORIG_DIR}_smooth
-mkdir ${SMOOTH_DIR}
-
-AXPY_FILE=`find ${ORIG_DIR} -name "*.dat" | grep axpy`
-for FILE in ${AXPY_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- ./smooth ${ORIG_DIR}/${BASE} 4 ${SMOOTH_DIR}/${BASE}_tmp
- ./regularize ${SMOOTH_DIR}/${BASE}_tmp 2500 15000 ${SMOOTH_DIR}/${BASE}
- rm -f ${SMOOTH_DIR}/${BASE}_tmp
-done
-
-
-MATRIX_VECTOR_FILE=`find ${ORIG_DIR} -name "*.dat" | grep matrix_vector`
-for FILE in ${MATRIX_VECTOR_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- ./smooth ${ORIG_DIR}/${BASE} 4 ${SMOOTH_DIR}/${BASE}_tmp
- ./regularize ${SMOOTH_DIR}/${BASE}_tmp 50 180 ${SMOOTH_DIR}/${BASE}
- rm -f ${SMOOTH_DIR}/${BASE}_tmp
-done
-
-MATRIX_MATRIX_FILE=`find ${ORIG_DIR} -name "*.dat" | grep matrix_matrix`
-for FILE in ${MATRIX_MATRIX_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- ./smooth ${ORIG_DIR}/${BASE} 4 ${SMOOTH_DIR}/${BASE}
-done
-
-AAT_FILE=`find ${ORIG_DIR} -name "*.dat" | grep _aat`
-for FILE in ${AAT_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- ./smooth ${ORIG_DIR}/${BASE} 4 ${SMOOTH_DIR}/${BASE}
-done
-
-
-ATA_FILE=`find ${ORIG_DIR} -name "*.dat" | grep _ata`
-for FILE in ${ATA_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- ./smooth ${ORIG_DIR}/${BASE} 4 ${SMOOTH_DIR}/${BASE}
-done
-
-### no smoothing for tinyvector and matrices libs
-
-TINY_BLITZ_FILE=`find ${ORIG_DIR} -name "*.dat" | grep tiny_blitz`
-for FILE in ${TINY_BLITZ_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- cp ${ORIG_DIR}/${BASE} ${SMOOTH_DIR}/${BASE}
-done
-
-TVMET_FILE=`find ${ORIG_DIR} -name "*.dat" | grep tvmet`
-for FILE in ${TVMET_FILE}
-do
- echo $FILE
- BASE=${FILE##*/}
- cp ${ORIG_DIR}/${BASE} ${SMOOTH_DIR}/${BASE}
-done
diff --git a/eigen/bench/btl/generic_bench/bench.hh b/eigen/bench/btl/generic_bench/bench.hh
deleted file mode 100644
index 7b7b951..0000000
--- a/eigen/bench/btl/generic_bench/bench.hh
+++ /dev/null
@@ -1,168 +0,0 @@
-//=====================================================
-// File : bench.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:16 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef BENCH_HH
-#define BENCH_HH
-
-#include "btl.hh"
-#include "bench_parameter.hh"
-#include
-#include "utilities.h"
-#include "size_lin_log.hh"
-#include "xy_file.hh"
-#include
-#include
-#include "timers/portable_perf_analyzer.hh"
-// #include "timers/mixed_perf_analyzer.hh"
-// #include "timers/x86_perf_analyzer.hh"
-// #include "timers/STL_perf_analyzer.hh"
-#ifdef HAVE_MKL
-extern "C" void cblas_saxpy(const int, const float, const float*, const int, float *, const int);
-#endif
-using namespace std;
-
-template class Perf_Analyzer, class Action>
-BTL_DONT_INLINE void bench( int size_min, int size_max, int nb_point )
-{
- if (BtlConfig::skipAction(Action::name()))
- return;
-
- string filename="bench_"+Action::name()+".dat";
-
- INFOS("starting " < tab_mflops(nb_point);
- std::vector tab_sizes(nb_point);
-
- // matrices and vector size calculations
- size_lin_log(nb_point,size_min,size_max,tab_sizes);
-
- std::vector oldSizes;
- std::vector oldFlops;
- bool hasOldResults = read_xy_file(filename, oldSizes, oldFlops, true);
- int oldi = oldSizes.size() - 1;
-
- // loop on matrix size
- Perf_Analyzer perf_action;
- for (int i=nb_point-1;i>=0;i--)
- {
- //INFOS("size=" <=0 && oldSizes[oldi]>tab_sizes[i])
- --oldi;
- if (oldi>=0 && oldSizes[oldi]==tab_sizes[i])
- {
- if (oldFlops[oldi] ";
- else
- std::cout << "\t < ";
- std::cout << oldFlops[oldi];
- }
- --oldi;
- }
- std::cout << " MFlops (" << nb_point-i << "/" << nb_point << ")" << std::endl;
- }
-
- if (!BtlConfig::Instance.overwriteResults)
- {
- if (hasOldResults)
- {
- // merge the two data
- std::vector newSizes;
- std::vector newFlops;
- unsigned int i=0;
- unsigned int j=0;
- while (i
-BTL_DONT_INLINE void bench( int size_min, int size_max, int nb_point ){
-
- // if the rdtsc is not available :
- bench(size_min,size_max,nb_point);
- // if the rdtsc is available :
-// bench(size_min,size_max,nb_point);
-
-
- // Only for small problem size. Otherwize it will be too long
-// bench(size_min,size_max,nb_point);
-// bench(size_min,size_max,nb_point);
-
-}
-
-#endif
diff --git a/eigen/bench/btl/generic_bench/bench_parameter.hh b/eigen/bench/btl/generic_bench/bench_parameter.hh
deleted file mode 100644
index 2b01149..0000000
--- a/eigen/bench/btl/generic_bench/bench_parameter.hh
+++ /dev/null
@@ -1,53 +0,0 @@
-//=====================================================
-// File : bench_parameter.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:16 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef BENCH_PARAMETER_HH
-#define BENCH_PARAMETER_HH
-
-// minimal time for each measurement
-#define REAL_TYPE float
-// minimal time for each measurement
-#define MIN_TIME 0.2
-// nb of point on bench curves
-#define NB_POINT 100
-// min vector size for axpy bench
-#define MIN_AXPY 5
-// max vector size for axpy bench
-#define MAX_AXPY 3000000
-// min matrix size for matrix vector product bench
-#define MIN_MV 5
-// max matrix size for matrix vector product bench
-#define MAX_MV 5000
-// min matrix size for matrix matrix product bench
-#define MIN_MM 5
-// max matrix size for matrix matrix product bench
-#define MAX_MM MAX_MV
-// min matrix size for LU bench
-#define MIN_LU 5
-// max matrix size for LU bench
-#define MAX_LU 3000
-// max size for tiny vector and matrix
-#define TINY_MV_MAX_SIZE 16
-// default nb_sample for x86 timer
-#define DEFAULT_NB_SAMPLE 1000
-
-// how many times we run a single bench (keep the best perf)
-#define DEFAULT_NB_TRIES 3
-
-#endif
diff --git a/eigen/bench/btl/generic_bench/btl.hh b/eigen/bench/btl/generic_bench/btl.hh
deleted file mode 100644
index 706b00f..0000000
--- a/eigen/bench/btl/generic_bench/btl.hh
+++ /dev/null
@@ -1,242 +0,0 @@
-//=====================================================
-// File : btl.hh
-// Copyright (C) 2008 Gael Guennebaud
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef BTL_HH
-#define BTL_HH
-
-#include "bench_parameter.hh"
-#include
-#include
-#include
-#include
-#include "utilities.h"
-
-#if (defined __GNUC__)
-#define BTL_ALWAYS_INLINE __attribute__((always_inline)) inline
-#else
-#define BTL_ALWAYS_INLINE inline
-#endif
-
-#if (defined __GNUC__)
-#define BTL_DONT_INLINE __attribute__((noinline))
-#else
-#define BTL_DONT_INLINE
-#endif
-
-#if (defined __GNUC__)
-#define BTL_ASM_COMMENT(X) asm("#" X)
-#else
-#define BTL_ASM_COMMENT(X)
-#endif
-
-#ifdef __SSE__
-#include "xmmintrin.h"
-// This enables flush to zero (FTZ) and denormals are zero (DAZ) modes:
-#define BTL_DISABLE_SSE_EXCEPTIONS() { _mm_setcsr(_mm_getcsr() | 0x8040); }
-#else
-#define BTL_DISABLE_SSE_EXCEPTIONS()
-#endif
-
-/** Enhanced std::string
-*/
-class BtlString : public std::string
-{
-public:
- BtlString() : std::string() {}
- BtlString(const BtlString& str) : std::string(static_cast(str)) {}
- BtlString(const std::string& str) : std::string(str) {}
- BtlString(const char* str) : std::string(str) {}
-
- operator const char* () const { return c_str(); }
-
- void trim( bool left = true, bool right = true )
- {
- int lspaces, rspaces, len = length(), i;
- lspaces = rspaces = 0;
-
- if ( left )
- for (i=0; i=0 && (at(i)==' '||at(i)=='\t'||at(i)=='\r'||at(i)=='\n'); rspaces++,i--);
-
- *this = substr(lspaces, len-lspaces-rspaces);
- }
-
- std::vector split( const BtlString& delims = "\t\n ") const
- {
- std::vector ret;
- unsigned int numSplits = 0;
- size_t start, pos;
- start = 0;
- do
- {
- pos = find_first_of(delims, start);
- if (pos == start)
- {
- ret.push_back("");
- start = pos + 1;
- }
- else if (pos == npos)
- ret.push_back( substr(start) );
- else
- {
- ret.push_back( substr(start, pos - start) );
- start = pos + 1;
- }
- //start = find_first_not_of(delims, start);
- ++numSplits;
- } while (pos != npos);
- return ret;
- }
-
- bool endsWith(const BtlString& str) const
- {
- if(str.size()>this->size())
- return false;
- return this->substr(this->size()-str.size(),str.size()) == str;
- }
- bool contains(const BtlString& str) const
- {
- return this->find(str)size();
- }
- bool beginsWith(const BtlString& str) const
- {
- if(str.size()>this->size())
- return false;
- return this->substr(0,str.size()) == str;
- }
-
- BtlString toLowerCase( void )
- {
- std::transform(begin(), end(), begin(), static_cast(::tolower) );
- return *this;
- }
- BtlString toUpperCase( void )
- {
- std::transform(begin(), end(), begin(), static_cast(::toupper) );
- return *this;
- }
-
- /** Case insensitive comparison.
- */
- bool isEquiv(const BtlString& str) const
- {
- BtlString str0 = *this;
- str0.toLowerCase();
- BtlString str1 = str;
- str1.toLowerCase();
- return str0 == str1;
- }
-
- /** Decompose the current string as a path and a file.
- For instance: "dir1/dir2/file.ext" leads to path="dir1/dir2/" and filename="file.ext"
- */
- void decomposePathAndFile(BtlString& path, BtlString& filename) const
- {
- std::vector elements = this->split("/\\");
- path = "";
- filename = elements.back();
- elements.pop_back();
- if (this->at(0)=='/')
- path = "/";
- for (unsigned int i=0 ; i config = BtlString(_config).split(" \t\n");
- for (unsigned int i = 0; i m_selectedActionNames;
-};
-
-#define BTL_MAIN \
- BtlConfig BtlConfig::Instance
-
-#endif // BTL_HH
diff --git a/eigen/bench/btl/generic_bench/init/init_function.hh b/eigen/bench/btl/generic_bench/init/init_function.hh
deleted file mode 100644
index e467cb6..0000000
--- a/eigen/bench/btl/generic_bench/init/init_function.hh
+++ /dev/null
@@ -1,54 +0,0 @@
-//=====================================================
-// File : init_function.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:18 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef INIT_FUNCTION_HH
-#define INIT_FUNCTION_HH
-
-double simple_function(int index)
-{
- return index;
-}
-
-double simple_function(int index_i, int index_j)
-{
- return index_i+index_j;
-}
-
-double pseudo_random(int /*index*/)
-{
- return std::rand()/double(RAND_MAX);
-}
-
-double pseudo_random(int /*index_i*/, int /*index_j*/)
-{
- return std::rand()/double(RAND_MAX);
-}
-
-
-double null_function(int /*index*/)
-{
- return 0.0;
-}
-
-double null_function(int /*index_i*/, int /*index_j*/)
-{
- return 0.0;
-}
-
-#endif
diff --git a/eigen/bench/btl/generic_bench/init/init_matrix.hh b/eigen/bench/btl/generic_bench/init/init_matrix.hh
deleted file mode 100644
index 6382d30..0000000
--- a/eigen/bench/btl/generic_bench/init/init_matrix.hh
+++ /dev/null
@@ -1,64 +0,0 @@
-//=====================================================
-// File : init_matrix.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, lun sep 30 14:23:19 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef INIT_MATRIX_HH
-#define INIT_MATRIX_HH
-
-// The Vector class must satisfy the following part of STL vector concept :
-// resize() method
-// [] operator for setting element
-// value_type defined
-template
-BTL_DONT_INLINE void init_row(Vector & X, int size, int row){
-
- X.resize(size);
-
- for (unsigned int j=0;j
-BTL_DONT_INLINE void init_matrix(Vector & A, int size){
- A.resize(size);
- for (unsigned int row=0; row(A[row],size,row);
- }
-}
-
-template
-BTL_DONT_INLINE void init_matrix_symm(Matrix& A, int size){
- A.resize(size);
- for (unsigned int row=0; row
-// Copyright (C) EDF R&D, lun sep 30 14:23:18 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef INIT_VECTOR_HH
-#define INIT_VECTOR_HH
-
-// The Vector class must satisfy the following part of STL vector concept :
-// resize() method
-// [] operator for setting element
-// value_type defined
-template
-void init_vector(Vector & X, int size){
-
- X.resize(size);
-
- for (unsigned int i=0;i
-// Copyright (C) EDF R&D, lun sep 30 14:23:16 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef BENCH_STATIC_HH
-#define BENCH_STATIC_HH
-
-#include "btl.hh"
-#include "bench_parameter.hh"
-#include
-#include "utilities.h"
-#include "xy_file.hh"
-#include "static/static_size_generator.hh"
-#include "timers/portable_perf_analyzer.hh"
-// #include "timers/mixed_perf_analyzer.hh"
-// #include "timers/x86_perf_analyzer.hh"
-
-using namespace std;
-
-
-template class Perf_Analyzer, template class Action, template class Interface>
-BTL_DONT_INLINE void bench_static(void)
-{
- if (BtlConfig::skipAction(Action >::name()))
- return;
-
- string filename = "bench_" + Action >::name() + ".dat";
-
- INFOS("starting " << filename);
-
- const int max_size = TINY_MV_MAX_SIZE;
-
- std::vector tab_mflops;
- std::vector tab_sizes;
-
- static_size_generator::go(tab_sizes,tab_mflops);
-
- dump_xy_file(tab_sizes,tab_mflops,filename);
-}
-
-// default Perf Analyzer
-template class Action, template class Interface>
-BTL_DONT_INLINE void bench_static(void)
-{
- bench_static();
- //bench_static();
- //bench_static();
-}
-
-#endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh b/eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh
deleted file mode 100644
index b4edcbc..0000000
--- a/eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh
+++ /dev/null
@@ -1,66 +0,0 @@
-//=====================================================
-// File : intel_bench_fixed_size.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, mar déc 3 18:59:37 CET 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef _BENCH_FIXED_SIZE_HH_
-#define _BENCH_FIXED_SIZE_HH_
-
-#include "utilities.h"
-#include "function_time.hh"
-
-template
-double bench_fixed_size(int size, unsigned long long & nb_calc,unsigned long long & nb_init)
-{
-
- Action action(size);
-
- double time_baseline=time_init(nb_init,action);
-
- while (time_baseline < MIN_TIME) {
-
- //INFOS("nb_init="<
-// Copyright (C) EDF R&D, mar déc 3 18:59:36 CET 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef _STATIC_SIZE_GENERATOR_HH
-#define _STATIC_SIZE_GENERATOR_HH
-#include
-
-using namespace std;
-
-//recursive generation of statically defined matrix and vector sizes
-
-template class Perf_Analyzer, template class Action, template class Interface>
-struct static_size_generator{
- static void go(vector & tab_sizes, vector & tab_mflops)
- {
- tab_sizes.push_back(SIZE);
- std::cout << tab_sizes.back() << " \t" << std::flush;
- Perf_Analyzer > > perf_action;
- tab_mflops.push_back(perf_action.eval_mflops(SIZE));
- std::cout << tab_mflops.back() << " MFlops" << std::endl;
- static_size_generator::go(tab_sizes,tab_mflops);
- };
-};
-
-//recursion end
-
-template class Perf_Analyzer, template class Action, template class Interface>
-struct static_size_generator<1,Perf_Analyzer,Action,Interface>{
- static void go(vector & tab_sizes, vector & tab_mflops)
- {
- tab_sizes.push_back(1);
- Perf_Analyzer > > perf_action;
- tab_mflops.push_back(perf_action.eval_mflops(1));
- };
-};
-
-#endif
-
-
-
-
diff --git a/eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh b/eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh
deleted file mode 100644
index c9f894b..0000000
--- a/eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh
+++ /dev/null
@@ -1,82 +0,0 @@
-//=====================================================
-// File : STL_perf_analyzer.hh
-// Author : L. Plagne
-// Copyright (C) EDF R&D, mar déc 3 18:59:35 CET 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-#ifndef _STL_PERF_ANALYSER_HH
-#define _STL_PERF_ANALYSER_HH
-
-#include "STL_timer.hh"
-#include "bench_parameter.hh"
-
-template
-class STL_Perf_Analyzer{
-public:
- STL_Perf_Analyzer(unsigned long long nb_sample=DEFAULT_NB_SAMPLE):_nb_sample(nb_sample),_chronos()
- {
- MESSAGE("STL_Perf_Analyzer Ctor");
- };
- STL_Perf_Analyzer( const STL_Perf_Analyzer & ){
- INFOS("Copy Ctor not implemented");
- exit(0);
- };
- ~STL_Perf_Analyzer( void ){
- MESSAGE("STL_Perf_Analyzer Dtor");
- };
-
-
- inline double eval_mflops(int size)
- {
-
- ACTION action(size);
-
- _chronos.start_baseline(_nb_sample);
-
- do {
-
- action.initialize();
- } while (_chronos.check());
-
- double baseline_time=_chronos.get_time();
-
- _chronos.start(_nb_sample);
- do {
- action.initialize();
- action.calculate();
- } while (_chronos.check());
-
- double calculate_time=_chronos.get_time();
-
- double corrected_time=calculate_time-baseline_time;
-
- // cout << size <<" "<
-// Copyright (C) EDF R&D, mar déc 3 18:59:35 CET 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// STL Timer Class. Adapted (L.P.) from the timer class by Musser et Al
-// described int the Book : STL Tutorial and reference guide.
-// Define a timer class for analyzing algorithm performance.
-#include
-#include
-#include
-#include