Kernel class
#include <FAST/OpenCLProgram.hpp>
Represents an OpenCL Kernel.
Contents
Constructors, destructors, conversion operators
-
Kernel(cl::Kernel clKernel,
OpenCLDevice::
pointer device) explicit
Public functions
- auto getHandle() const -> cl::Kernel
-
template<class T>void setArg(int index, const std::vector<T>& data)
-
template<class T>void setArg(const std::string& name, const std::vector<T>& data)
-
template<class T>void setArgData(int index, const std::vector<T>& data)
-
template<class T>void setArgData(const std::string& name, const std::vector<T>& data)
-
template<class T>void setArg(int index, T data)
-
template<class T>void setArg(const std::string& name, T data)
-
template<class T>void setArg(int index, std::size_t size, T data)
-
template<class T>void setArg(const std::string& name, std::size_t size, T data)
-
template<typename T, typename... Args>void setArgs(T&& firstArg, Args... args)
-
template<typename T>void setArgs(T&& lastArg)
-
void setImageArg(int index,
std::shared_ptr<fast::
Image> data, accessType access, bool forceOpenCLImage = false) -
void setImageArg(std::string name,
std::shared_ptr<fast::
Image> data, accessType access, bool forceOpenCLImage = false) -
void setTensorArg(int index,
std::shared_ptr<fast::
Tensor> tensor, accessType access) -
void setTensorArg(std::string name,
std::shared_ptr<fast::
Tensor> tensor, accessType access) - auto getNumberOfArgs() const -> int
- Get number of arguments of the given.
- auto getArg(int index) const -> KernelArgument
- Get kernel argument by index.
- auto getArg(std::string name) const -> KernelArgument
- Get kernel arguemnt by name.
- auto allArgumentsGotValue() const -> bool
- Check whether all arguments have gotten a value by setArg.
- auto getArgumentsWithoutValue() const -> std::vector<std::string>
- Get list of argument names which haven't received a value yet.
- void clearBuffers()
- Clear list of buffers assigned to arguments in this kernel.
-
template<>void setArg(int index, std::unique_ptr<OpenCLImageAccess> access)
-
template<>void setArg(const std::string& name, std::unique_ptr<OpenCLImageAccess> access)
-
template<>void setArg(int index, OpenCLBuffer buffer)
-
template<>void setArg(const std::string& name, OpenCLBuffer buffer)
-
template<>void setArg(int index, Image::
pointer image) -
template<>void setArg(const std::string& name, std::shared_ptr<Image> image)
-
template<>void setArg(int index, std::unique_ptr<OpenCLBufferAccess> access)
-
template<>void setArg(const std::string& name, std::unique_ptr<OpenCLBufferAccess> access)
-
template<>void setArg(const std::string& name, Tensor::
pointer tensor) -
template<>auto setArg(int index, std::shared_ptr<Image> image) -> FAST_EXPORT void
-
template<>auto setArg(int index, std::shared_ptr<Tensor> tensor) -> FAST_EXPORT void
-
template<>auto setArg(const std::string& name, std::shared_ptr<Tensor> tensor) -> FAST_EXPORT void
Function documentation
KernelArgument fast:: Kernel:: getArg(std::string name) const
Get kernel arguemnt by name.
| Parameters | |
|---|---|
| name | |
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(int index,
std::unique_ptr<OpenCLImageAccess> access)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(const std::string& name,
std::unique_ptr<OpenCLImageAccess> access)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(int index,
OpenCLBuffer buffer)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(const std::string& name,
OpenCLBuffer buffer)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(int index,
Image:: pointer image)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(const std::string& name,
std::shared_ptr<Image> image)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(int index,
std::unique_ptr<OpenCLBufferAccess> access)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(const std::string& name,
std::unique_ptr<OpenCLBufferAccess> access)
#include <FAST/OpenCLProgram.cpp>
template<>
void fast:: Kernel:: setArg(const std::string& name,
Tensor:: pointer tensor)