Sacado Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
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 "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   1
 
#define SACADO_ALIGN_SFAD   1
 

Enumerations

enum  LayoutType { 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 = 32
 
const int SLFadSize = SFadSize
 
const int HierSFadSize = 32
 
const int HierSLFadSize = HierSFadSize
 

Macro Definition Documentation

◆ SACADO_VIEW_CUDA_HIERARCHICAL

#define SACADO_VIEW_CUDA_HIERARCHICAL   1

Definition at line 30 of file fad_kokkos_mat_vec_perf.cpp.

◆ SACADO_ALIGN_SFAD

#define SACADO_ALIGN_SFAD   1

Definition at line 33 of file fad_kokkos_mat_vec_perf.cpp.

Enumeration Type Documentation

◆ LayoutType

enum LayoutType
Enumerator
LAYOUT_LEFT 
LAYOUT_RIGHT 
LAYOUT_DEFAULT 

Definition at line 492 of file fad_kokkos_mat_vec_perf.cpp.

Function Documentation

◆ run_mat_vec()

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.

◆ run_mat_vec_hierarchical()

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

Definition at line 109 of file fad_kokkos_mat_vec_perf.cpp.

◆ check_val()

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.

◆ check_deriv()

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.

◆ do_time_fad()

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.

◆ do_time_fad_hierarchical()

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.

◆ do_time_val()

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.

◆ print_perf()

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.

◆ do_times()

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.

◆ do_times_layout()

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.

◆ connect_vtune()

void connect_vtune ( )

Definition at line 542 of file fad_kokkos_mat_vec_perf.cpp.

◆ main()

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

Definition at line 563 of file fad_kokkos_mat_vec_perf.cpp.

Variable Documentation

◆ num_layout_types

const int num_layout_types = 3

Definition at line 497 of file fad_kokkos_mat_vec_perf.cpp.

◆ layout_values

const LayoutType layout_values[]
Initial value:

Definition at line 498 of file fad_kokkos_mat_vec_perf.cpp.

◆ layout_names

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

Definition at line 500 of file fad_kokkos_mat_vec_perf.cpp.

◆ SFadSize

const int SFadSize = 32

Definition at line 557 of file fad_kokkos_mat_vec_perf.cpp.

◆ SLFadSize

const int SLFadSize = SFadSize

Definition at line 558 of file fad_kokkos_mat_vec_perf.cpp.

◆ HierSFadSize

const int HierSFadSize = 32

Definition at line 560 of file fad_kokkos_mat_vec_perf.cpp.

◆ HierSLFadSize

const int HierSLFadSize = HierSFadSize

Definition at line 561 of file fad_kokkos_mat_vec_perf.cpp.