Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
gtsam
3rdparty
Eigen
unsupported
Eigen
CXX11
src
Tensor
TensorSycl.h
Go to the documentation of this file.
1
// This file is part of Eigen, a lightweight C++ template library
2
// for linear algebra.
3
//
4
// Mehdi Goli Codeplay Software Ltd.
5
// Ralph Potter Codeplay Software Ltd.
6
// Luke Iwanski Codeplay Software Ltd.
7
// Contact: eigen@codeplay.com
8
//
9
// This Source Code Form is subject to the terms of the Mozilla
10
// Public License v. 2.0. If a copy of the MPL was not distributed
11
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
12
13
// General include header of SYCL target for Tensor Module
14
#ifndef UNSUPPORTED_EIGEN_CXX11_SRC_TENSOR_TENSORSYCL_H
15
#define UNSUPPORTED_EIGEN_CXX11_SRC_TENSOR_TENSORSYCL_H
16
17
#ifdef EIGEN_USE_SYCL
18
19
// global pointer to set different attribute state for a class
20
template
<
class
T>
21
struct
MakeGlobalPointer {
22
typedef
typename
cl::sycl::global_ptr<T>::pointer_t
Type
;
23
};
24
25
// global pointer to set different attribute state for a class
26
template
<
class
T>
27
struct
MakeLocalPointer {
28
typedef
typename
cl::sycl::local_ptr<T>::pointer_t
Type
;
29
};
30
31
32
namespace
Eigen
{
33
namespace
TensorSycl {
34
namespace
internal
{
35
37
struct
NoOP;
38
39
template
<
bool
IsConst,
typename
T>
struct
GetType{
40
typedef
const
T
Type
;
41
};
42
template
<
typename
T>
struct
GetType<false,
T
>{
43
typedef
T
Type
;
44
};
45
46
}
47
}
48
}
49
50
// tuple construction
51
#include "
TensorSyclTuple.h
"
52
53
// counting number of leaf at compile time
54
#include "
TensorSyclLeafCount.h
"
55
56
// The index PlaceHolder takes the actual expression and replaces the actual
57
// data on it with the place holder. It uses the same pre-order expression tree
58
// traverse as the leaf count in order to give the right access number to each
59
// node in the expression
60
#include "
TensorSyclPlaceHolderExpr.h
"
61
62
// creation of an accessor tuple from a tuple of SYCL buffers
63
#include "
TensorSyclExtractAccessor.h
"
64
65
// this is used to change the address space type in tensor map for GPU
66
#include "
TensorSyclConvertToDeviceExpression.h
"
67
68
// this is used to extract the functors
69
#include "
TensorSyclExtractFunctors.h
"
70
71
// this is used to create tensormap on the device
72
// this is used to construct the expression on the device
73
#include "
TensorSyclExprConstructor.h
"
74
76
#include "
TensorReductionSycl.h
"
77
78
// kernel execution using fusion
79
#include "
TensorSyclRun.h
"
80
81
#endif // end of EIGEN_USE_SYCL
82
#endif // UNSUPPORTED_EIGEN_CXX11_SRC_TENSOR_TENSORSYCL_H
TensorSyclConvertToDeviceExpression.h
TensorSyclRun.h
TensorSyclExtractAccessor.h
TensorSyclExtractFunctors.h
Eigen
Namespace containing all symbols from the Eigen library.
Definition:
jet.h:637
TensorSyclPlaceHolderExpr.h
TensorSyclLeafCount.h
Eigen::Architecture::Type
Type
Definition:
Constants.h:461
TensorSyclExprConstructor.h
TensorReductionSycl.h
Eigen::Triplet< double >
internal
Definition:
BandTriangularSolver.h:13
TensorSyclTuple.h
gtsam
Author(s):
autogenerated on Sat May 8 2021 02:46:01