xref: /aosp_15_r20/external/eigen/bench/btl/libs/BLAS/main.cpp (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li //=====================================================
2*bf2c3715SXin Li // File   :  main.cpp
3*bf2c3715SXin Li // Author :  L. Plagne <[email protected])>
4*bf2c3715SXin Li // Copyright (C) EDF R&D,  lun sep 30 14:23:28 CEST 2002
5*bf2c3715SXin Li //=====================================================
6*bf2c3715SXin Li //
7*bf2c3715SXin Li // This program is free software; you can redistribute it and/or
8*bf2c3715SXin Li // modify it under the terms of the GNU General Public License
9*bf2c3715SXin Li // as published by the Free Software Foundation; either version 2
10*bf2c3715SXin Li // of the License, or (at your option) any later version.
11*bf2c3715SXin Li //
12*bf2c3715SXin Li // This program is distributed in the hope that it will be useful,
13*bf2c3715SXin Li // but WITHOUT ANY WARRANTY; without even the implied warranty of
14*bf2c3715SXin Li // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*bf2c3715SXin Li // GNU General Public License for more details.
16*bf2c3715SXin Li // You should have received a copy of the GNU General Public License
17*bf2c3715SXin Li // along with this program; if not, write to the Free Software
18*bf2c3715SXin Li // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19*bf2c3715SXin Li //
20*bf2c3715SXin Li #include "utilities.h"
21*bf2c3715SXin Li #include "blas_interface.hh"
22*bf2c3715SXin Li #include "bench.hh"
23*bf2c3715SXin Li #include "basic_actions.hh"
24*bf2c3715SXin Li 
25*bf2c3715SXin Li #include "action_cholesky.hh"
26*bf2c3715SXin Li #include "action_lu_decomp.hh"
27*bf2c3715SXin Li #include "action_partial_lu.hh"
28*bf2c3715SXin Li #include "action_trisolve_matrix.hh"
29*bf2c3715SXin Li 
30*bf2c3715SXin Li #ifdef HAS_LAPACK
31*bf2c3715SXin Li #include "action_hessenberg.hh"
32*bf2c3715SXin Li #endif
33*bf2c3715SXin Li 
34*bf2c3715SXin Li BTL_MAIN;
35*bf2c3715SXin Li 
main()36*bf2c3715SXin Li int main()
37*bf2c3715SXin Li {
38*bf2c3715SXin Li 
39*bf2c3715SXin Li   bench<Action_axpy<blas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
40*bf2c3715SXin Li   bench<Action_axpby<blas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
41*bf2c3715SXin Li 
42*bf2c3715SXin Li   bench<Action_matrix_vector_product<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
43*bf2c3715SXin Li   bench<Action_atv_product<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
44*bf2c3715SXin Li   bench<Action_symv<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
45*bf2c3715SXin Li   bench<Action_syr2<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
46*bf2c3715SXin Li 
47*bf2c3715SXin Li   bench<Action_ger<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
48*bf2c3715SXin Li   bench<Action_rot<blas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
49*bf2c3715SXin Li 
50*bf2c3715SXin Li   bench<Action_matrix_matrix_product<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
51*bf2c3715SXin Li   bench<Action_ata_product<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
52*bf2c3715SXin Li   bench<Action_aat_product<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
53*bf2c3715SXin Li 
54*bf2c3715SXin Li   bench<Action_trisolve<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
55*bf2c3715SXin Li   bench<Action_trisolve_matrix<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
56*bf2c3715SXin Li 
57*bf2c3715SXin Li   bench<Action_trmm<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
58*bf2c3715SXin Li 
59*bf2c3715SXin Li   bench<Action_cholesky<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
60*bf2c3715SXin Li   bench<Action_partial_lu<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
61*bf2c3715SXin Li 
62*bf2c3715SXin Li   #ifdef HAS_LAPACK
63*bf2c3715SXin Li //   bench<Action_lu_decomp<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
64*bf2c3715SXin Li   bench<Action_hessenberg<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
65*bf2c3715SXin Li   bench<Action_tridiagonalization<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
66*bf2c3715SXin Li   #endif
67*bf2c3715SXin Li 
68*bf2c3715SXin Li   //bench<Action_lu_solve<blas_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
69*bf2c3715SXin Li 
70*bf2c3715SXin Li   return 0;
71*bf2c3715SXin Li }
72*bf2c3715SXin Li 
73*bf2c3715SXin Li 
74