Classes | Macros | Functions
cxx11_tensor_executor.cpp File Reference
#include "main.h"
#include <Eigen/CXX11/Tensor>
Include dependency graph for cxx11_tensor_executor.cpp:

Go to the source code of this file.

Classes

struct  DummyGenerator< T, NumDims >
 

Macros

#define CALL_ASYNC_SUBTEST_COMBINATIONS(PART, NAME, T, NUM_DIMS)
 
#define CALL_SUBTEST_COMBINATIONS(PART, NAME, T, NUM_DIMS)
 
#define CALL_SUBTEST_PART(PART)   CALL_SUBTEST_##PART
 
#define EIGEN_USE_THREADS
 
#define TEST_CHIPPING(CHIP_DIM)
 
#define TEST_CHIPPING(CHIP_DIM)
 
#define VECTORIZABLE(VAL)   VAL
 

Functions

template<typename Dst , typename Expr >
static void DefaultAssign (Dst &dst, Expr expr)
 
template<bool Vectorizable, TiledEvaluation Tiling, typename Device , typename Dst , typename Expr >
static void DeviceAssign (Device &d, Dst &dst, Expr expr)
 
 EIGEN_DECLARE_TEST (cxx11_tensor_executor)
 
template<int NumDims>
static array< Index, NumDims > RandomDims (int min_dim=1, int max_dim=20)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_async_execute_binary_expr (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_async_execute_unary_expr (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_binary_expr (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_broadcasting (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_broadcasting_of_forced_eval (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_chipping_lvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_chipping_rvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_generator_op (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_reshape (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_reverse_rvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_shuffle_lvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_shuffle_rvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_slice_lvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_slice_rvalue (Device d)
 
template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_unary_expr (Device d)
 

Macro Definition Documentation

◆ CALL_ASYNC_SUBTEST_COMBINATIONS

#define CALL_ASYNC_SUBTEST_COMBINATIONS (   PART,
  NAME,
  T,
  NUM_DIMS 
)
Value:
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::Off, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::On, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::Off, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::On, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::Off, RowMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::On, RowMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::Off, RowMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::On, RowMajor>(tp_device)))

Definition at line 643 of file cxx11_tensor_executor.cpp.

◆ CALL_SUBTEST_COMBINATIONS

#define CALL_SUBTEST_COMBINATIONS (   PART,
  NAME,
  T,
  NUM_DIMS 
)
Value:
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, false, TiledEvaluation::Off, ColMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, false, TiledEvaluation::On, ColMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, VECTORIZABLE(true), TiledEvaluation::Off, ColMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, VECTORIZABLE(true), TiledEvaluation::On, ColMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, false, TiledEvaluation::Off, RowMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, false, TiledEvaluation::On, RowMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, VECTORIZABLE(true), TiledEvaluation::Off, RowMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, DefaultDevice, VECTORIZABLE(true), TiledEvaluation::On, RowMajor>(default_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::Off, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::On, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::Off, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::On, ColMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::Off, RowMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, false, TiledEvaluation::On, RowMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::Off, RowMajor>(tp_device))); \
CALL_SUBTEST_PART(PART)((NAME<T, NUM_DIMS, ThreadPoolDevice, VECTORIZABLE(true), TiledEvaluation::On, RowMajor>(tp_device)))

Definition at line 624 of file cxx11_tensor_executor.cpp.

◆ CALL_SUBTEST_PART

#define CALL_SUBTEST_PART (   PART)    CALL_SUBTEST_##PART

Definition at line 621 of file cxx11_tensor_executor.cpp.

◆ EIGEN_USE_THREADS

#define EIGEN_USE_THREADS

Definition at line 10 of file cxx11_tensor_executor.cpp.

◆ TEST_CHIPPING [1/2]

#define TEST_CHIPPING (   CHIP_DIM)
Value:
if (NumDims > (CHIP_DIM)) { \
const auto offset = internal::random<Index>(0, dims[(CHIP_DIM)] - 1); \
const auto expr = src.template chip<(CHIP_DIM)>(offset); \
\
Tensor<T, NumDims - 1, Layout, Index> golden; \
golden = expr; \
\
Tensor<T, NumDims - 1, Layout, Index> dst(golden.dimensions()); \
\
using Assign = TensorAssignOp<decltype(dst), const decltype(expr)>; \
using Executor = internal::TensorExecutor<const Assign, Device, \
Vectorizable, Tiling>; \
Executor::run(Assign(dst, expr), d); \
for (Index i = 0; i < dst.dimensions().TotalSize(); ++i) { \
VERIFY_IS_EQUAL(dst.coeff(i), golden.coeff(i)); \
} \
}

◆ TEST_CHIPPING [2/2]

#define TEST_CHIPPING (   CHIP_DIM)

◆ VECTORIZABLE

#define VECTORIZABLE (   VAL)    VAL

Definition at line 618 of file cxx11_tensor_executor.cpp.

Function Documentation

◆ DefaultAssign()

template<typename Dst , typename Expr >
static void DefaultAssign ( Dst &  dst,
Expr  expr 
)
static

Definition at line 27 of file cxx11_tensor_executor.cpp.

◆ DeviceAssign()

template<bool Vectorizable, TiledEvaluation Tiling, typename Device , typename Dst , typename Expr >
static void DeviceAssign ( Device &  d,
Dst &  dst,
Expr  expr 
)
static

Definition at line 40 of file cxx11_tensor_executor.cpp.

◆ EIGEN_DECLARE_TEST()

EIGEN_DECLARE_TEST ( cxx11_tensor_executor  )

Definition at line 653 of file cxx11_tensor_executor.cpp.

◆ RandomDims()

template<int NumDims>
static array<Index, NumDims> RandomDims ( int  min_dim = 1,
int  max_dim = 20 
)
static

Definition at line 49 of file cxx11_tensor_executor.cpp.

◆ test_async_execute_binary_expr()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_async_execute_binary_expr ( Device  d)
static

Definition at line 581 of file cxx11_tensor_executor.cpp.

◆ test_async_execute_unary_expr()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_async_execute_unary_expr ( Device  d)
static

Definition at line 548 of file cxx11_tensor_executor.cpp.

◆ test_execute_binary_expr()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_binary_expr ( Device  d)
static

Definition at line 87 of file cxx11_tensor_executor.cpp.

◆ test_execute_broadcasting()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_broadcasting ( Device  d)
static

Definition at line 118 of file cxx11_tensor_executor.cpp.

◆ test_execute_broadcasting_of_forced_eval()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_broadcasting_of_forced_eval ( Device  d)
static

Definition at line 438 of file cxx11_tensor_executor.cpp.

◆ test_execute_chipping_lvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_chipping_lvalue ( Device  d)
static

Definition at line 189 of file cxx11_tensor_executor.cpp.

◆ test_execute_chipping_rvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_chipping_rvalue ( Device  d)
static

Definition at line 150 of file cxx11_tensor_executor.cpp.

◆ test_execute_generator_op()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_generator_op ( Device  d)
static

Definition at line 482 of file cxx11_tensor_executor.cpp.

◆ test_execute_reshape()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_reshape ( Device  d)
static

Definition at line 315 of file cxx11_tensor_executor.cpp.

◆ test_execute_reverse_rvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_reverse_rvalue ( Device  d)
static

Definition at line 513 of file cxx11_tensor_executor.cpp.

◆ test_execute_shuffle_lvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_shuffle_lvalue ( Device  d)
static

Definition at line 279 of file cxx11_tensor_executor.cpp.

◆ test_execute_shuffle_rvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_shuffle_rvalue ( Device  d)
static

Definition at line 241 of file cxx11_tensor_executor.cpp.

◆ test_execute_slice_lvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_slice_lvalue ( Device  d)
static

Definition at line 395 of file cxx11_tensor_executor.cpp.

◆ test_execute_slice_rvalue()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_slice_rvalue ( Device  d)
static

Definition at line 355 of file cxx11_tensor_executor.cpp.

◆ test_execute_unary_expr()

template<typename T , int NumDims, typename Device , bool Vectorizable, TiledEvaluation Tiling, int Layout>
static void test_execute_unary_expr ( Device  d)
static

Definition at line 59 of file cxx11_tensor_executor.cpp.

d
static const double d[K][N]
Definition: igam.h:11
T
Eigen::Triplet< double > T
Definition: Tutorial_sparse_example.cpp:6
CALL_SUBTEST_PART
#define CALL_SUBTEST_PART(PART)
Definition: cxx11_tensor_executor.cpp:621
gtsam.examples.DogLegOptimizerExample.run
def run(args)
Definition: DogLegOptimizerExample.py:21
offset
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy 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 linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size set set xzeroaxis lt lw set x2zeroaxis lt lw set yzeroaxis lt lw set y2zeroaxis lt lw set tics in set ticslevel set tics 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
Definition: gnuplot_common_settings.hh:64
Eigen::TensorAssignOp
Definition: TensorAssign.h:61
i
int i
Definition: BiCGSTAB_step_by_step.cpp:9
for
for(size_t i=1;i< poses.size();++i)
Definition: doc/Code/VisualISAMExample.cpp:7
Eigen::Index
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:09:46