Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Enumerations | Functions | Variables
fad_kokkos_mat_vec_perf.cpp File Reference
#include "Sacado.hpp"
#include "Teuchos_CommandLineProcessor.hpp"
#include "Teuchos_StandardCatchMacros.hpp"
#include "Teuchos_Time.hpp"
#include "impl/Kokkos_Timer.hpp"
#include <sys/types.h>
#include <unistd.h>
#include <algorithm>
Include dependency graph for fad_kokkos_mat_vec_perf.cpp:

Go to the source code of this file.

Classes

struct  Perf
 

Macros

#define SACADO_VIEW_CUDA_HIERARCHICAL_DFAD   1
 
#define SACADO_KOKKOS_USE_MEMORY_POOL   1
 

Enumerations

enum  LayoutType {
  LAYOUT_LEFT =0, LAYOUT_RIGHT, LAYOUT_DEFAULT, LAYOUT_LEFT =0,
  LAYOUT_RIGHT, LAYOUT_DEFAULT
}
 

Functions

template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void run_mat_vec (const ViewTypeA &A, const ViewTypeB &b, const ViewTypeC &c)
 
template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void run_mat_vec_hierarchical (const ViewTypeA &A, const ViewTypeB &b, const ViewTypeC &c)
 
template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void check_val (const ViewTypeA &A, const ViewTypeB &b, const ViewTypeC &c)
 
template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void check_deriv (const ViewTypeA &A, const ViewTypeB &b, const ViewTypeC &c)
 
template<typename FadType , typename... ViewArgs>
Perf do_time_fad (const size_t m, const size_t n, const size_t p, const size_t nloop, const bool check)
 
template<typename FadType , typename... ViewArgs>
Perf do_time_fad_hierarchical (const size_t m, const size_t n, const size_t p, const size_t nloop, const bool check)
 
template<typename... ViewArgs>
Perf do_time_val (const size_t m, const size_t n, const size_t nloop, const bool check)
 
void print_perf (const Perf &perf, const Perf &perf_base, const size_t p, const std::string &name)
 
template<int SFadSize, int SLFadSize, int HierSFadSize, int HierSLFadSize, typename... ViewArgs>
void do_times (const size_t m, const size_t n, const size_t p, const size_t ph, const size_t nloop, const bool value, const bool sfad, const bool slfad, const bool dfad, const bool hierarchical, const bool check)
 
template<int SFadSize, int SLFadSize, int HierSFadSize, int HierSLFadSize, typename Device >
void do_times_layout (const size_t m, const size_t n, const size_t p, const size_t ph, const size_t nloop, const bool value, const bool sfad, const bool slfad, const bool dfad, const bool hierarchical, const bool check, const LayoutType &layout, const std::string &device)
 
void connect_vtune ()
 
int main (int argc, char *argv[])
 

Variables

const int num_layout_types = 3
 
const LayoutType layout_values []
 
const char * layout_names [] = { "left", "right", "default" }
 
const int SFadSize = 8
 
const int SLFadSize = SFadSize
 
const int HierSFadSize = 50
 
const int HierSLFadSize = HierSFadSize
 

Macro Definition Documentation

#define SACADO_VIEW_CUDA_HIERARCHICAL_DFAD   1

Definition at line 31 of file fad_kokkos_mat_vec_perf.cpp.

#define SACADO_KOKKOS_USE_MEMORY_POOL   1

Definition at line 32 of file fad_kokkos_mat_vec_perf.cpp.

Enumeration Type Documentation

enum LayoutType
Enumerator
LAYOUT_LEFT 
LAYOUT_RIGHT 
LAYOUT_DEFAULT 
LAYOUT_LEFT 
LAYOUT_RIGHT 
LAYOUT_DEFAULT 

Definition at line 492 of file fad_kokkos_mat_vec_perf.cpp.

Function Documentation

template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void run_mat_vec ( const ViewTypeA &  A,
const ViewTypeB &  b,
const ViewTypeC &  c 
)

Definition at line 53 of file fad_kokkos_mat_vec_perf.cpp.

template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void run_mat_vec_hierarchical ( const ViewTypeA &  A,
const ViewTypeB &  b,
const ViewTypeC &  c 
)

Definition at line 73 of file fad_kokkos_mat_vec_perf.cpp.

template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void check_val ( const ViewTypeA &  A,
const ViewTypeB &  b,
const ViewTypeC &  c 
)

Definition at line 182 of file fad_kokkos_mat_vec_perf.cpp.

template<typename ViewTypeA , typename ViewTypeB , typename ViewTypeC >
void check_deriv ( const ViewTypeA &  A,
const ViewTypeB &  b,
const ViewTypeC &  c 
)

Definition at line 201 of file fad_kokkos_mat_vec_perf.cpp.

template<typename FadType , typename... ViewArgs>
Perf do_time_fad ( const size_t  m,
const size_t  n,
const size_t  p,
const size_t  nloop,
const bool  check 
)

Definition at line 229 of file fad_kokkos_mat_vec_perf.cpp.

template<typename FadType , typename... ViewArgs>
Perf do_time_fad_hierarchical ( const size_t  m,
const size_t  n,
const size_t  p,
const size_t  nloop,
const bool  check 
)

Definition at line 273 of file fad_kokkos_mat_vec_perf.cpp.

template<typename... ViewArgs>
Perf do_time_val ( const size_t  m,
const size_t  n,
const size_t  nloop,
const bool  check 
)

Definition at line 376 of file fad_kokkos_mat_vec_perf.cpp.

void print_perf ( const Perf perf,
const Perf perf_base,
const size_t  p,
const std::string &  name 
)

Definition at line 415 of file fad_kokkos_mat_vec_perf.cpp.

template<int SFadSize, int SLFadSize, int HierSFadSize, int HierSLFadSize, typename... ViewArgs>
void do_times ( const size_t  m,
const size_t  n,
const size_t  p,
const size_t  ph,
const size_t  nloop,
const bool  value,
const bool  sfad,
const bool  slfad,
const bool  dfad,
const bool  hierarchical,
const bool  check 
)

Definition at line 428 of file fad_kokkos_mat_vec_perf.cpp.

template<int SFadSize, int SLFadSize, int HierSFadSize, int HierSLFadSize, typename Device >
void do_times_layout ( const size_t  m,
const size_t  n,
const size_t  p,
const size_t  ph,
const size_t  nloop,
const bool  value,
const bool  sfad,
const bool  slfad,
const bool  dfad,
const bool  hierarchical,
const bool  check,
const LayoutType layout,
const std::string &  device 
)

Definition at line 505 of file fad_kokkos_mat_vec_perf.cpp.

void connect_vtune ( )

Definition at line 542 of file fad_kokkos_mat_vec_perf.cpp.

int main ( int  argc,
char *  argv[] 
)

Definition at line 561 of file fad_kokkos_mat_vec_perf.cpp.

Variable Documentation

const int num_layout_types = 3

Definition at line 497 of file fad_kokkos_mat_vec_perf.cpp.

const LayoutType layout_values[]
const char* layout_names[] = { "left", "right", "default" }

Definition at line 500 of file fad_kokkos_mat_vec_perf.cpp.

const int SFadSize = 8

Definition at line 556 of file fad_kokkos_mat_vec_perf.cpp.

const int SLFadSize = SFadSize

Definition at line 557 of file fad_kokkos_mat_vec_perf.cpp.

const int HierSFadSize = 50

Definition at line 558 of file fad_kokkos_mat_vec_perf.cpp.

const int HierSLFadSize = HierSFadSize

Definition at line 559 of file fad_kokkos_mat_vec_perf.cpp.