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
61 
62 // creation of an accessor tuple from a tuple of SYCL buffers
64 
65 // this is used to change the address space type in tensor map for GPU
67 
68 // this is used to extract the functors
70 
71 // this is used to create tensormap on the device
72 // this is used to construct the expression on the device
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
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:46:01