Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
include
hebi
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
Definition:
LDLT.h:16
TensorSyclPlaceHolderExpr.h
TensorSyclLeafCount.h
Eigen::Architecture::Type
Type
Definition:
Constants.h:461
TensorSyclExprConstructor.h
TensorReductionSycl.h
internal
Definition:
Eigen_Colamd.h:50
TensorSyclTuple.h
hebiros
Author(s): Xavier Artache
, Matthew Tesch
autogenerated on Thu Sep 3 2020 04:09:38