aslGenerators.h
Go to the documentation of this file.
/*
* Advanced Simulation Library <http://asl.org.il>
*
* Copyright 2015 Avtech Scientific <http://avtechscientific.com>
*
*
* This file is part of Advanced Simulation Library (ASL).
*
* ASL is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, version 3 of the License.
*
* ASL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with ASL. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef ASLGENERATORS_H
#define ASLGENERATORS_H
#include <memory>
//#include <acl/aclHardware.h>
#include "acl/aclTypes.h"
namespace cl
{
class CommandQueue;
}
namespace acl
{
class VectorOfElementsData;
class VectorOfElements;
typedef std::shared_ptr<cl::CommandQueue> CommandQueue;
}
namespace asl
{
template <typename V> class DataWithGhostNodes;
typedef DataWithGhostNodes<acl::VectorOfElementsData> DataWithGhostNodesACLData;
typedef std::shared_ptr<DataWithGhostNodesACLData> SPDataWithGhostNodesACLData;
typedef DataWithGhostNodes<acl::VectorOfElements> DataWithGhostNodesACL;
typedef std::shared_ptr<DataWithGhostNodesACL> SPDataWithGhostNodesACL;
class AbstractDataWithGhostNodes;
typedef std::shared_ptr<AbstractDataWithGhostNodes> SPAbstractDataWithGhostNodes;
template <typename V> class DataWrapper;
typedef DataWrapper<acl::VectorOfElementsData> DataWrapperACLData;
typedef std::shared_ptr<DataWrapperACLData> SPDataWrapperACLData;
typedef DataWrapper<acl::VectorOfElements> DataWrapperACL;
typedef std::shared_ptr<DataWrapperACL> SPDataWrapperACL;
class Block;
template <typename T> SPDataWrapperACLData generateDataContainerACL_SP(const Block &b,
unsigned int n = 1);
template <typename T> SPDataWithGhostNodesACLData generateDataContainerACL_SP(const Block &b,
unsigned int n,
unsigned int gN);
template <typename T> SPDataWithGhostNodesACLData generateDataContainerACL_SP(const Block &b,
unsigned int n,
unsigned int gN,
acl::CommandQueue queue);
SPDataWithGhostNodesACLData generateDataContainerACL_SP(const Block &b,
acl::TypeID t,
unsigned int n,
unsigned int gN,
acl::CommandQueue queue);
SPDataWithGhostNodesACLData generateDataContainerACL_SP(const Block &b,
acl::TypeID t,
unsigned int n,
unsigned int gN);
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements & a);
SPDataWithGhostNodesACL generateDataContainer_SP(const Block &b,
const acl::VectorOfElements & a,
unsigned int gN);
template <typename T> SPDataWithGhostNodesACL generateDataContainerConst_SP(const Block &b, T a, unsigned int gN);
SPAbstractDataWithGhostNodes generateDCFullSafe(SPAbstractDataWithGhostNodes d);
SPAbstractDataWithGhostNodes generateDCFullSafe(SPAbstractDataWithGhostNodes d, double outVal);
} //namespace acl
#endif // ASLGenerator_H
acl::VectorOfElements
The class represents several Element.
Definition: aclVectorOfElementsDef.h:92
asl::AbstractDataWithGhostNodes
Definition: aslDataWithGhostNodes.h:39
asl::Block
Definition: aslBlocks.h:57
asl::DataWithGhostNodes
Definition: aslDataWithGhostNodes.h:58
asl::DataWrapper
Class defines a folding rule into a 1D/2D/3D bulk.
Definition: aslDataWrapper.h:77
asl::generateDataContainerACL_SP
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
asl::generateDataContainer_SP
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
asl::generateDCFullSafe
SPAbstractDataWithGhostNodes generateDCFullSafe(SPAbstractDataWithGhostNodes d)
generates data container without ghost nodes and safe outOfboundary element acces
asl::generateDataContainerConst_SP
SPDataWithGhostNodesACL generateDataContainerConst_SP(const Block &b, T a, unsigned int gN)
acl
Advanced Computational Language.
Definition: acl.h:41
acl::CommandQueue
std::shared_ptr< cl::CommandQueue > CommandQueue
Definition: acl.h:51
acl::TypeID
TypeID
Definition: aclTypes.h:39
asl
Advanced Simulation Library.
Definition: aslDataInc.h:31
asl::SPDataWrapperACLData
std::shared_ptr< DataWrapperACLData > SPDataWrapperACLData
Definition: aslGenerators.h:54
asl::DataWithGhostNodesACLData
DataWithGhostNodes< acl::VectorOfElementsData > DataWithGhostNodesACLData
Definition: aslGenerators.h:45
asl::SPDataWrapperACL
std::shared_ptr< DataWrapperACL > SPDataWrapperACL
Definition: aslGenerators.h:56
asl::DataWrapperACLData
DataWrapper< acl::VectorOfElementsData > DataWrapperACLData
Definition: aslGenerators.h:52
asl::SPAbstractDataWithGhostNodes
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition: aslGenerators.h:50
asl::DataWithGhostNodesACL
DataWithGhostNodes< acl::VectorOfElements > DataWithGhostNodesACL
Definition: aslGenerators.h:48
asl::SPDataWithGhostNodesACL
std::shared_ptr< DataWithGhostNodesACL > SPDataWithGhostNodesACL
Definition: aslGenerators.h:49
asl::SPDataWithGhostNodesACLData
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition: aslGenerators.h:47
asl::DataWrapperACL
DataWrapper< acl::VectorOfElements > DataWrapperACL
Definition: aslGenerators.h:55
cl
The OpenCL C++ bindings are defined within this namespace.
Definition: acl.h:34