55 class ComputeDeviceInterface;
62 std::shared_ptr<ComputeDeviceInterface> m_impl;
156 template<typename Format, typename = std::enable_if_t<Detail::SupportedDeviceArrayViewFormat<Format>::value>>
187 template<typename Format, typename = std::enable_if_t<Detail::SupportedDeviceArrayViewFormat<Format>::value>>
228# define ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(Format) \
229 extern template ZIVID_CORE_EXPORT DeviceArrayView<Format> \
230 ComputeDevice::createDeviceArrayView<Format, void>(CUDADevicePointer, size_t, size_t, CUDAStreamPtr) const; \
231 extern template ZIVID_CORE_EXPORT DeviceArrayView<Format> ComputeDevice::createDeviceArrayView<Format, void>( \
232 OpenCLMemPointer, size_t, size_t, OpenCLCommandQueuePtr) const
234 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorRGBA);
235 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorRGBA_SRGB);
236 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorBGRA);
237 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorBGRA_SRGB);
238 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorRGBAf);
239 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorRGB);
240 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorRGB_SRGB);
241 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorBGR);
242 ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW(
ColorBGR_SRGB);
243# undef ZIVID_COMPUTE_DEVICE_EXTERN_CREATE_DEVICE_ARRAY_VIEW
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
Manager class for Zivid.
Definition Application.h:100
Contains information about the compute device used by Zivid::Application.
Definition ComputeDevice.h:60
ZIVID_CORE_EXPORT ComputeDevice(const ComputeDevice &other)
Copy constructor.
ZIVID_CORE_EXPORT ComputeDevice & operator=(ComputeDevice &&other) noexcept
Move assignment operator.
ZIVID_CORE_EXPORT StreamOrQueue sdkStreamOrQueue() const
Get the SDK's internal stream/queue as a backend-agnostic StreamOrQueue.
ZIVID_CORE_EXPORT std::string model() const
Returns the model name of this compute device.
ZIVID_CORE_EXPORT ~ComputeDevice()
Destructor.
ZIVID_CORE_EXPORT ComputeDevice()
Constructor.
ZIVID_CORE_EXPORT ComputeDevice & operator=(const ComputeDevice &other)
Assignment operator.
ZIVID_CORE_EXPORT void * nativeContext() const
Get native context handle for interop with GPU APIs.
ZIVID_CORE_EXPORT ComputeBackend backend() const
Returns the backend type of this compute device.
ZIVID_CORE_EXPORT DeviceArrayView< Format > createDeviceArrayView(OpenCLMemPointer openCLBuffer, size_t width, size_t height, OpenCLCommandQueuePtr queue) const
Create a DeviceArrayView<Format> over an externally-owned OpenCL memory object.
ZIVID_CORE_EXPORT std::string cudaRuntimeLibraryName() const
Get the shared library name of the CUDA runtime that the SDK was built against.
ZIVID_CORE_EXPORT std::string toString() const
Get string representation of the compute device.
ZIVID_CORE_EXPORT ComputeDevice(ComputeDevice &&other) noexcept
Move constructor.
ZIVID_CORE_EXPORT std::string vendor() const
Returns the vendor of this compute device.
ZIVID_CORE_EXPORT void * nativeStreamHandle() const
Get native stream/queue handle for advanced GPU interop.
ZIVID_CORE_EXPORT DeviceArrayView< Format > createDeviceArrayView(CUDADevicePointer cudaPointer, size_t width, size_t height, CUDAStreamPtr stream) const
Create a DeviceArrayView<Format> over an externally-owned CUDA device pointer.
Non-owning view of a device buffer.
Definition DeviceArray.h:270
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:85
ColorSRGB ColorRGBA_SRGB
Color with 8-bit red, green, blue and alpha channels in the sRGB color space.
Definition Color.h:93
ZIVID_CORE_EXPORT std::string toString(ComputeBackend backend)
Get string representation of backend type.
ComputeBackend
GPU compute backend type.
Definition ComputeWrappers.h:52
std::ostream & operator<<(std::ostream &stream, const Array1D< T > &array)
Serialize array information to a stream.
Definition Array1D.h:183
Wrapper for a CUDA device pointer.
Definition ComputeWrappers.h:127
Wrapper for user-provided CUDA stream for synchronization.
Definition ComputeWrappers.h:85
Color with 8-bit blue, green, red and alpha channels in the sRGB color space.
Definition Color.h:273
Color with 8-bit blue, green, red and alpha channels.
Definition Color.h:255
Color with 8-bit blue, green and red channels (no alpha) in the sRGB color space.
Definition Color.h:437
Color with 8-bit blue, green and red channels (no alpha)
Definition Color.h:422
Color with 8-bit red, green, blue and alpha channels.
Definition Color.h:189
Color with 32-bit red, green, blue and alpha channels.
Definition Color.h:285
Color with 8-bit red, green and blue channels (no alpha) in the sRGB color space.
Definition Color.h:361
Color with 8-bit red, green and blue channels (no alpha)
Definition Color.h:346
Wrapper for user-provided OpenCL command queue for synchronization.
Definition ComputeWrappers.h:75
Wrapper for an OpenCL memory object (cl_mem)
Definition ComputeWrappers.h:137
A user CUDA stream or OpenCL command queue, selected by which member is populated.
Definition ComputeWrappers.h:106