ASL  0.1.7
Advanced Simulation Library
aslGenerators.h
Go to the documentation of this file.
1 /*
2  * Advanced Simulation Library <http://asl.org.il>
3  *
4  * Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5  *
6  *
7  * This file is part of Advanced Simulation Library (ASL).
8  *
9  * ASL is free software: you can redistribute it and/or modify it
10  * under the terms of the GNU Affero General Public License as
11  * published by the Free Software Foundation, version 3 of the License.
12  *
13  * ASL is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU Affero General Public License for more details.
17  *
18  * You should have received a copy of the GNU Affero General Public License
19  * along with ASL. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 
24 #ifndef ASLGENERATORS_H
25 #define ASLGENERATORS_H
26 
27 #include <memory>
28 //#include <acl/aclHardware.h>
29 #include "acl/aclTypes.h"
30 
31 namespace cl
32 {
33  class CommandQueue;
34 }
35 
36 namespace acl
37 {
38  class VectorOfElementsData;
39  class VectorOfElements;
40  typedef std::shared_ptr<cl::CommandQueue> CommandQueue;
41 }
42 
43 namespace asl
44 {
45  template <typename V> class DataWithGhostNodes;
46  typedef DataWithGhostNodes<acl::VectorOfElementsData> DataWithGhostNodesACLData;
47  typedef std::shared_ptr<DataWithGhostNodesACLData> SPDataWithGhostNodesACLData;
48  typedef DataWithGhostNodes<acl::VectorOfElements> DataWithGhostNodesACL;
49  typedef std::shared_ptr<DataWithGhostNodesACL> SPDataWithGhostNodesACL;
50  class AbstractDataWithGhostNodes;
51  typedef std::shared_ptr<AbstractDataWithGhostNodes> SPAbstractDataWithGhostNodes;
52  template <typename V> class DataWrapper;
53  typedef DataWrapper<acl::VectorOfElementsData> DataWrapperACLData;
54  typedef std::shared_ptr<DataWrapperACLData> SPDataWrapperACLData;
55  typedef DataWrapper<acl::VectorOfElements> DataWrapperACL;
56  typedef std::shared_ptr<DataWrapperACL> SPDataWrapperACL;
57  class Block;
58 
59 
61 
64  template <typename T> SPDataWrapperACLData generateDataContainerACL_SP(const Block &b,
65  unsigned int n = 1);
66 
68 
71  template <typename T> SPDataWithGhostNodesACLData generateDataContainerACL_SP(const Block &b,
72  unsigned int n,
73  unsigned int gN);
74 
76 
79  template <typename T> SPDataWithGhostNodesACLData generateDataContainerACL_SP(const Block &b,
80  unsigned int n,
81  unsigned int gN,
82  acl::CommandQueue queue);
83 
85 
89  acl::TypeID t,
90  unsigned int n,
91  unsigned int gN,
92  acl::CommandQueue queue);
93 
95 
99  acl::TypeID t,
100  unsigned int n,
101  unsigned int gN);
102 
105 
107 
111  const acl::VectorOfElements & a,
112  unsigned int gN);
113 
114 
116  template <typename T> SPDataWithGhostNodesACL generateDataContainerConst_SP(const Block &b, T a, unsigned int gN);
117 
120 
123 
124 
125 
126 
127 } //namespace acl
128 
129 #endif // ASLGenerator_H
asl::DataWrapperACLData
DataWrapper< acl::VectorOfElementsData > DataWrapperACLData
Definition: aslGenerators.h:52
asl::DataWithGhostNodesACL
DataWithGhostNodes< acl::VectorOfElements > DataWithGhostNodesACL
Definition: aslGenerators.h:48
asl::generateDataContainer_SP
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
asl::SPDataWithGhostNodesACLData
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition: aslGenerators.h:47
acl::CommandQueue
std::shared_ptr< cl::CommandQueue > CommandQueue
Definition: acl.h:51
asl::DataWithGhostNodesACLData
DataWithGhostNodes< acl::VectorOfElementsData > DataWithGhostNodesACLData
Definition: aslGenerators.h:45
acl::VectorOfElements
The class represents several Element.
Definition: aclVectorOfElementsDef.h:91
cl
The OpenCL C++ bindings are defined within this namespace.
Definition: acl.h:33
asl::SPDataWrapperACLData
std::shared_ptr< DataWrapperACLData > SPDataWrapperACLData
Definition: aslGenerators.h:54
asl::generateDataContainerConst_SP
SPDataWithGhostNodesACL generateDataContainerConst_SP(const Block &b, T a, unsigned int gN)
asl::generateDataContainerACL_SP
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
asl::generateDCFullSafe
SPAbstractDataWithGhostNodes generateDCFullSafe(SPAbstractDataWithGhostNodes d)
generates data container without ghost nodes and safe outOfboundary element acces
acl::TypeID
TypeID
Definition: aclTypes.h:38
asl::SPDataWithGhostNodesACL
std::shared_ptr< DataWithGhostNodesACL > SPDataWithGhostNodesACL
Definition: aslGenerators.h:49
asl::SPDataWrapperACL
std::shared_ptr< DataWrapperACL > SPDataWrapperACL
Definition: aslGenerators.h:56
asl
Advanced Simulation Library.
Definition: aslDataInc.h:30
acl
Advanced Computational Language.
Definition: acl.h:40
asl::DataWrapperACL
DataWrapper< acl::VectorOfElements > DataWrapperACL
Definition: aslGenerators.h:55
asl::SPAbstractDataWithGhostNodes
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition: aslGenerators.h:50