Loading...
Searching...
No Matches
itkOpenCLDevice.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef itkOpenCLDevice_h
#define itkOpenCLDevice_h
#include "itkOpenCLPlatform.h"
#include "itkOpenCLSize.h"
namespace itk
{
class ITKOpenCL_EXPORT OpenCLDevice
{
public:
using Self = OpenCLDevice;
OpenCLDevice()
: m_Id(0)
, m_Version(0)
{}
OpenCLDevice(cl_device_id id)
: m_Id(id)
, m_Version(0)
{}
enum DeviceType
{
Default = (1 << 0),
CPU = (1 << 1),
GPU = (1 << 2),
Accelerator = (1 << 3),
Custom = (1 << 4),
All = 0xFFFFFFFF
};
enum Endian
{
BigEndian,
LittleEndian
};
bool
IsNull() const
{
return this->m_Id == 0;
}
cl_device_id
GetDeviceId() const
{
return this->m_Id;
}
OpenCLVersion
GetOpenCLVersion() const;
std::string
GetVersion() const;
OpenCLDevice::DeviceType
GetDeviceType() const;
OpenCLPlatform
GetPlatform() const;
unsigned int
GetVendorId() const;
bool
IsAvailable() const;
bool
HasCompiler() const;
bool
HasNativeKernels() const;
bool
HasOutOfOrderExecution() const;
bool
HasDouble() const;
bool
HasHalfFloat() const;
bool
HasErrorCorrectingMemory() const;
bool
HasUnifiedMemory() const;
unsigned int
GetComputeUnits() const;
unsigned int
GetClockFrequency() const;
unsigned int
GetAddressBits() const;
OpenCLDevice::Endian
GetByteOrder() const;
OpenCLSize
GetMaximumWorkItemSize() const;
std::size_t
GetMaximumWorkItemsPerGroup() const;
bool
HasImage2D() const;
bool
HasImage3D() const;
bool
HasWritableImage3D() const;
OpenCLSize
GetMaximumImage2DSize() const;
OpenCLSize
GetMaximumImage3DSize() const;
unsigned int
GetMaximumSamplers() const;
unsigned int
GetMaximumReadImages() const;
unsigned int
GetMaximumWriteImages() const;
unsigned int
GetPreferredCharVectorSize() const;
unsigned int
GetPreferredShortVectorSize() const;
unsigned int
GetPreferredIntVectorSize() const;
unsigned int
GetPreferredLongVectorSize() const;
unsigned int
GetPreferredFloatVectorSize() const;
unsigned int
GetPreferredDoubleVectorSize() const;
unsigned int
GetPreferredHalfFloatVectorSize() const;
unsigned int
GetNativeCharVectorSize() const;
unsigned int
GetNativeShortVectorSize() const;
unsigned int
GetNativeIntVectorSize() const;
unsigned int
GetNativeLongVectorSize() const;
unsigned int
GetNativeFloatVectorSize() const;
unsigned int
GetNativeDoubleVectorSize() const;
unsigned int
GetNativeHalfFloatVectorSize() const;
enum FloatCapability
{
NotSupported = 0x0000,
Denorm = 0x0001,
InfinityNaN = 0x0002,
RoundNearest = 0x0004,
RoundZero = 0x0008,
RoundInfinity = 0x0010,
FusedMultiplyAdd = 0x0020
};
FloatCapability
GetFloatCapabilities() const;
FloatCapability
GetDoubleCapabilities() const;
FloatCapability
GetHalfFloatCapabilities() const;
std::size_t
GetProfilingTimerResolution() const;
unsigned long
GetMaximumAllocationSize() const;
unsigned long
GetGlobalMemorySize() const;
enum CacheType
{
NoCache = 0,
ReadOnlyCache = 1,
ReadWriteCache = 2
};
CacheType
GetGlobalMemoryCacheType() const;
unsigned long
GetGlobalMemoryCacheSize() const;
unsigned int
GetGlobalMemoryCacheLineSize() const;
unsigned long
GetLocalMemorySize() const;
bool
IsLocalMemorySeparate() const;
unsigned long
GetMaximumConstantBufferSize() const;
unsigned int
GetMaximumConstantArguments() const;
unsigned int
GetDefaultAlignment() const;
unsigned int
GetMinimumAlignment() const;
std::size_t
GetMaximumParameterBytes() const;
bool
IsFullProfile() const;
bool
IsEmbeddedProfile() const;
std::string
GetProfile() const;
std::string
GetDriverVersion() const;
std::string
GetName() const;
std::string
GetVendor() const;
std::list<std::string>
GetExtensions() const;
std::string
GetLanguageVersion() const;
bool
HasExtension(const std::string & name) const;
static std::list<OpenCLDevice>
GetAllDevices();
static std::list<OpenCLDevice>
GetDevices(const OpenCLDevice::DeviceType types, const OpenCLPlatform & platform = OpenCLPlatform());
static std::list<OpenCLDevice>
GetDevices(const OpenCLDevice::DeviceType type, const OpenCLPlatform::VendorType vendor);
static OpenCLDevice
GetMaximumFlopsDevice(const std::list<OpenCLDevice> & devices, const OpenCLDevice::DeviceType type);
static OpenCLDevice
GetMaximumFlopsDevice(const OpenCLDevice::DeviceType type);
static OpenCLDevice
GetMaximumFlopsDeviceByVendor(const OpenCLDevice::DeviceType type, const OpenCLPlatform::VendorType vendor);
static OpenCLDevice
GetMaximumFlopsDeviceByPlatform(const OpenCLDevice::DeviceType types,
const OpenCLPlatform & platform = OpenCLPlatform());
static std::list<OpenCLDevice>
GetMaximumFlopsDevices(const OpenCLDevice::DeviceType type, const OpenCLPlatform & platform = OpenCLPlatform());
private:
cl_device_id m_Id;
mutable int m_Version;
};
bool ITKOpenCL_EXPORT
operator==(const OpenCLDevice & lhs, const OpenCLDevice & rhs);
bool ITKOpenCL_EXPORT
operator!=(const OpenCLDevice & lhs, const OpenCLDevice & rhs);
template <typename charT, typename traits>
inline std::basic_ostream<charT, traits> &
operator<<(std::basic_ostream<charT, traits> & strm, const OpenCLDevice & device)
{
if (device.IsNull())
{
strm << "OpenCLDevice(null)";
return strm;
}
const char indent = ' ';
strm << "OpenCLDevice\n" << indent << "Id: " << device.GetDeviceId() << std::endl;
strm << indent << "OpenCL version: ";
switch (device.GetOpenCLVersion())
{
case VERSION_1_0:
strm << "1.0";
break;
case VERSION_1_1:
strm << "1.1";
break;
case VERSION_1_2:
strm << "1.2";
break;
case VERSION_2_0:
strm << "2.0";
break;
case VERSION_2_1:
strm << "2.1";
break;
default:
strm << "Unknown";
break;
}
strm << '\n' << indent << "Version: " << device.GetVersion() << std::endl;
strm << indent << "Device type: ";
switch (device.GetDeviceType())
{
case OpenCLDevice::Default:
strm << "Default";
break;
case OpenCLDevice::CPU:
strm << "CPU";
break;
case OpenCLDevice::GPU:
strm << "GPU";
break;
case OpenCLDevice::Accelerator:
strm << "Accelerator";
break;
case OpenCLDevice::All:
strm << "All";
break;
default:
strm << "Unknown";
break;
}
// strm << device.GetPlatform() << std::endl;
strm << '\n'
<< indent << "Vendor Id: " << device.GetVendorId() << '\n'
<< indent << "Available: " << (device.IsAvailable() ? "Yes" : "No") << '\n'
<< indent << "Has compiler: " << (device.HasCompiler() ? "Yes" : "No") << '\n'
<< indent << "Has native kernels: " << (device.HasNativeKernels() ? "Yes" : "No") << '\n'
<< indent << "Has out of order execution: " << (device.HasOutOfOrderExecution() ? "Yes" : "No") << '\n'
<< indent << "Has double: " << (device.HasDouble() ? "Yes" : "No") << '\n'
<< indent << "Has half float: " << (device.HasHalfFloat() ? "Yes" : "No") << '\n'
<< indent << "Has error correcting memory: " << (device.HasErrorCorrectingMemory() ? "Yes" : "No") << '\n'
<< indent << "Has unified memory: " << (device.HasUnifiedMemory() ? "Yes" : "No") << '\n'
<< indent << "Compute units: " << device.GetComputeUnits() << '\n'
<< indent << "Clock frequency: " << device.GetClockFrequency() << '\n'
<< indent << "Address bits: " << device.GetAddressBits() << std::endl;
strm << indent << "Byte order: ";
switch (device.GetByteOrder())
{
case OpenCLDevice::BigEndian:
strm << "Big Endian";
break;
case OpenCLDevice::LittleEndian:
strm << "Little Endian";
break;
default:
strm << "Unknown";
break;
}
strm << '\n'
<< indent << "Maximum work item size: " << device.GetMaximumWorkItemSize() << '\n'
<< indent << "Maximum work items per group: " << device.GetMaximumWorkItemsPerGroup() << '\n'
<< indent << "Maximum work items per group: " << device.GetMaximumWorkItemsPerGroup() << std::endl;
// Has Image 2D
const bool hasImage2D = device.HasImage2D();
strm << indent << "Has image 2D: " << (hasImage2D ? "Yes" : "No") << std::endl;
if (hasImage2D)
{
strm << indent << "Maximum image 2D size: " << device.GetMaximumImage2DSize() << std::endl;
}
// Has Image 3D
const bool hasImage3D = device.HasImage3D();
strm << indent << "Has image 3D: " << (hasImage3D ? "Yes" : "No") << std::endl;
if (hasImage3D)
{
strm << indent << "Maximum image 3D size: " << device.GetMaximumImage3DSize() << std::endl;
}
strm << indent << "Has writable image 3D: " << (device.HasWritableImage3D() ? "Yes" : "No") << '\n'
<< indent << "Maximum samplers: " << device.GetMaximumSamplers() << '\n'
<< indent << "Maximum read images: " << device.GetMaximumReadImages() << '\n'
<< indent << "Maximum write images: " << device.GetMaximumWriteImages() << '\n'
<< indent << "Preferred char vector size: " << device.GetPreferredCharVectorSize() << '\n'
<< indent << "Preferred short vector size: " << device.GetPreferredShortVectorSize() << '\n'
<< indent << "Preferred int vector size: " << device.GetPreferredIntVectorSize() << '\n'
<< indent << "Preferred long vector size: " << device.GetPreferredLongVectorSize() << '\n'
<< indent << "Preferred float vector size: " << device.GetPreferredFloatVectorSize() << '\n'
<< indent << "Preferred double vector size: " << device.GetPreferredDoubleVectorSize() << '\n'
<< indent << "Preferred half float vector size: " << device.GetPreferredHalfFloatVectorSize() << '\n'
<< indent << "Native char vector size: " << device.GetNativeCharVectorSize() << '\n'
<< indent << "Native short vector size: " << device.GetNativeShortVectorSize() << '\n'
<< indent << "Native int vector size: " << device.GetNativeIntVectorSize() << '\n'
<< indent << "Native long vector size: " << device.GetNativeLongVectorSize() << '\n'
<< indent << "Native float vector size: " << device.GetNativeFloatVectorSize() << '\n'
<< indent << "Native double vector size: " << device.GetNativeDoubleVectorSize() << '\n'
<< indent << "Native half float vector size: " << device.GetNativeHalfFloatVectorSize() << std::endl;
strm << indent << "Float capabilities: ";
switch (device.GetFloatCapabilities())
{
case OpenCLDevice::NotSupported:
strm << "Not supported";
break;
case OpenCLDevice::Denorm:
strm << "Denorm";
break;
case OpenCLDevice::InfinityNaN:
strm << "Infinity nan";
break;
case OpenCLDevice::RoundNearest:
strm << "Round nearest";
break;
case OpenCLDevice::RoundZero:
strm << "Round zero";
break;
case OpenCLDevice::RoundInfinity:
strm << "Round infinity";
break;
case OpenCLDevice::FusedMultiplyAdd:
strm << "Fused multiply add";
break;
default:
strm << "Unknown";
break;
}
strm << '\n' << indent << "Double capabilities: ";
switch (device.GetDoubleCapabilities())
{
case OpenCLDevice::NotSupported:
strm << "Not supported";
break;
case OpenCLDevice::Denorm:
strm << "Denorm";
break;
case OpenCLDevice::InfinityNaN:
strm << "Infinity NaN";
break;
case OpenCLDevice::RoundNearest:
strm << "Round nearest";
break;
case OpenCLDevice::RoundZero:
strm << "Round zero";
break;
case OpenCLDevice::RoundInfinity:
strm << "Round infinity";
break;
case OpenCLDevice::FusedMultiplyAdd:
strm << "Fused multiply add";
break;
default:
strm << "Unknown";
break;
}
strm << '\n' << indent << "Half float capabilities: ";
switch (device.GetHalfFloatCapabilities())
{
case OpenCLDevice::NotSupported:
strm << "Not supported";
break;
case OpenCLDevice::Denorm:
strm << "Denorm";
break;
case OpenCLDevice::InfinityNaN:
strm << "Infinity NaN";
break;
case OpenCLDevice::RoundNearest:
strm << "Round nearest";
break;
case OpenCLDevice::RoundZero:
strm << "Round zero";
break;
case OpenCLDevice::RoundInfinity:
strm << "Round infinity";
break;
case OpenCLDevice::FusedMultiplyAdd:
strm << "Fused multiply add";
break;
default:
strm << "Unknown";
break;
}
strm << '\n'
<< indent << "Profiling timer resolution: " << device.GetProfilingTimerResolution() << '\n'
<< indent << "Maximum allocation size: " << device.GetMaximumAllocationSize() << '\n'
<< indent << "Global memory size: " << device.GetGlobalMemorySize() << std::endl;
strm << indent << "Global memory cache type: ";
switch (device.GetGlobalMemoryCacheType())
{
case OpenCLDevice::NoCache:
strm << "No cache";
break;
case OpenCLDevice::ReadOnlyCache:
strm << "Read only cache";
break;
case OpenCLDevice::ReadWriteCache:
strm << "Read write cache";
break;
default:
strm << "Unknown";
break;
}
strm << '\n'
<< indent << "Global memory cache size: " << device.GetGlobalMemoryCacheSize() << '\n'
<< indent << "Global memory cache line size: " << device.GetGlobalMemoryCacheLineSize() << '\n'
<< indent << "Local memory size: " << device.GetLocalMemorySize() << '\n'
<< indent << "Local memory separated: " << (device.IsLocalMemorySeparate() ? "Yes" : "No") << '\n'
<< indent << "Maximum constant buffer size: " << device.GetMaximumConstantBufferSize() << '\n'
<< indent << "Maximum constant arguments: " << device.GetMaximumConstantArguments() << '\n'
<< indent << "Default alignment: " << device.GetDefaultAlignment() << '\n'
<< indent << "Minimum alignment: " << device.GetMinimumAlignment() << '\n'
<< indent << "Maximum parameter bytes: " << device.GetMaximumParameterBytes() << '\n'
<< indent << "Full profile: " << (device.IsFullProfile() ? "Yes" : "No") << '\n'
<< indent << "Embedded profile: " << (device.IsEmbeddedProfile() ? "Yes" : "No") << '\n'
<< indent << "Profile: " << device.GetProfile() << '\n'
<< indent << "Driver version: " << device.GetDriverVersion() << '\n'
<< indent << "Name: " << device.GetName() << '\n'
<< indent << "Vendor: " << device.GetVendor() << '\n'
<< indent << "Language Version: " << device.GetLanguageVersion() << std::endl;
const std::list<std::string> extensions = device.GetExtensions();
const std::size_t extensionsSize = extensions.size();
strm << indent << "Extensions(" << extensionsSize << "): ";
if (extensionsSize == 0)
{
strm << "none";
}
else
{
strm << std::endl;
for (std::list<std::string>::const_iterator it = extensions.begin(); it != extensions.end(); ++it)
{
strm << indent << indent << "- " << *it << std::endl;
}
}
return strm;
}
} // end namespace itk
#endif /* itkOpenCLDevice_h */
itk::OpenCLDevice
The OpenCLDevice class represents the collection of OpenCL devices to be used by the host.
Definition itkOpenCLDevice.h:59
itk::OpenCLDevice::HasHalfFloat
bool HasHalfFloat() const
itk::OpenCLDevice::GetDeviceId
cl_device_id GetDeviceId() const
Definition itkOpenCLDevice.h:110
itk::OpenCLDevice::IsLocalMemorySeparate
bool IsLocalMemorySeparate() const
itk::OpenCLDevice::GetNativeDoubleVectorSize
unsigned int GetNativeDoubleVectorSize() const
itk::OpenCLDevice::IsFullProfile
bool IsFullProfile() const
itk::OpenCLDevice::GetDevices
static std::list< OpenCLDevice > GetDevices(const OpenCLDevice::DeviceType type, const OpenCLPlatform::VendorType vendor)
itk::OpenCLDevice::GetDeviceType
OpenCLDevice::DeviceType GetDeviceType() const
itk::OpenCLDevice::GetMaximumFlopsDeviceByVendor
static OpenCLDevice GetMaximumFlopsDeviceByVendor(const OpenCLDevice::DeviceType type, const OpenCLPlatform::VendorType vendor)
itk::OpenCLDevice::GetName
std::string GetName() const
itk::OpenCLDevice::HasDouble
bool HasDouble() const
itk::OpenCLDevice::GetGlobalMemorySize
unsigned long GetGlobalMemorySize() const
itk::OpenCLDevice::GetPreferredDoubleVectorSize
unsigned int GetPreferredDoubleVectorSize() const
itk::OpenCLDevice::GetClockFrequency
unsigned int GetClockFrequency() const
itk::OpenCLDevice::GetOpenCLVersion
OpenCLVersion GetOpenCLVersion() const
itk::OpenCLDevice::GetNativeFloatVectorSize
unsigned int GetNativeFloatVectorSize() const
itk::OpenCLDevice::GetPlatform
OpenCLPlatform GetPlatform() const
itk::OpenCLDevice::HasErrorCorrectingMemory
bool HasErrorCorrectingMemory() const
itk::OpenCLDevice::HasCompiler
bool HasCompiler() const
itk::OpenCLDevice::GetHalfFloatCapabilities
FloatCapability GetHalfFloatCapabilities() const
itk::OpenCLDevice::GetNativeCharVectorSize
unsigned int GetNativeCharVectorSize() const
itk::OpenCLDevice::GetMaximumWorkItemSize
OpenCLSize GetMaximumWorkItemSize() const
itk::OpenCLDevice::IsEmbeddedProfile
bool IsEmbeddedProfile() const
itk::OpenCLDevice::GetMaximumFlopsDevice
static OpenCLDevice GetMaximumFlopsDevice(const OpenCLDevice::DeviceType type)
itk::OpenCLDevice::Endian
Endian
Definition itkOpenCLDevice.h:96
itk::OpenCLDevice::BigEndian
@ BigEndian
Definition itkOpenCLDevice.h:97
itk::OpenCLDevice::LittleEndian
@ LittleEndian
Definition itkOpenCLDevice.h:98
itk::OpenCLDevice::GetLanguageVersion
std::string GetLanguageVersion() const
itk::OpenCLDevice::HasImage3D
bool HasImage3D() const
itk::OpenCLDevice::GetDefaultAlignment
unsigned int GetDefaultAlignment() const
itk::OpenCLDevice::GetVendorId
unsigned int GetVendorId() const
itk::OpenCLDevice::GetDoubleCapabilities
FloatCapability GetDoubleCapabilities() const
itk::OpenCLDevice::GetComputeUnits
unsigned int GetComputeUnits() const
itk::OpenCLDevice::OpenCLDevice
OpenCLDevice(cl_device_id id)
Definition itkOpenCLDevice.h:72
itk::OpenCLDevice::GetMaximumWorkItemsPerGroup
std::vcl_size_t GetMaximumWorkItemsPerGroup() const
itk::OpenCLDevice::GetPreferredHalfFloatVectorSize
unsigned int GetPreferredHalfFloatVectorSize() const
itk::OpenCLDevice::IsAvailable
bool IsAvailable() const
itk::OpenCLDevice::HasWritableImage3D
bool HasWritableImage3D() const
itk::OpenCLDevice::GetMaximumConstantArguments
unsigned int GetMaximumConstantArguments() const
itk::OpenCLDevice::GetFloatCapabilities
FloatCapability GetFloatCapabilities() const
itk::OpenCLDevice::HasOutOfOrderExecution
bool HasOutOfOrderExecution() const
itk::OpenCLDevice::GetPreferredShortVectorSize
unsigned int GetPreferredShortVectorSize() const
itk::OpenCLDevice::GetAllDevices
static std::list< OpenCLDevice > GetAllDevices()
itk::OpenCLDevice::GetMaximumParameterBytes
std::vcl_size_t GetMaximumParameterBytes() const
itk::OpenCLDevice::HasUnifiedMemory
bool HasUnifiedMemory() const
itk::OpenCLDevice::GetNativeLongVectorSize
unsigned int GetNativeLongVectorSize() const
itk::OpenCLDevice::GetMaximumFlopsDevice
static OpenCLDevice GetMaximumFlopsDevice(const std::list< OpenCLDevice > &devices, const OpenCLDevice::DeviceType type)
itk::OpenCLDevice::GetMaximumFlopsDeviceByPlatform
static OpenCLDevice GetMaximumFlopsDeviceByPlatform(const OpenCLDevice::DeviceType types, const OpenCLPlatform &platform=OpenCLPlatform())
itk::OpenCLDevice::FloatCapability
FloatCapability
Definition itkOpenCLDevice.h:371
itk::OpenCLDevice::RoundNearest
@ RoundNearest
Definition itkOpenCLDevice.h:375
itk::OpenCLDevice::InfinityNaN
@ InfinityNaN
Definition itkOpenCLDevice.h:374
itk::OpenCLDevice::Denorm
@ Denorm
Definition itkOpenCLDevice.h:373
itk::OpenCLDevice::NotSupported
@ NotSupported
Definition itkOpenCLDevice.h:372
itk::OpenCLDevice::FusedMultiplyAdd
@ FusedMultiplyAdd
Definition itkOpenCLDevice.h:378
itk::OpenCLDevice::RoundInfinity
@ RoundInfinity
Definition itkOpenCLDevice.h:377
itk::OpenCLDevice::RoundZero
@ RoundZero
Definition itkOpenCLDevice.h:376
itk::OpenCLDevice::GetGlobalMemoryCacheLineSize
unsigned int GetGlobalMemoryCacheLineSize() const
itk::OpenCLDevice::DeviceType
DeviceType
Definition itkOpenCLDevice.h:86
itk::OpenCLDevice::CPU
@ CPU
Definition itkOpenCLDevice.h:88
itk::OpenCLDevice::Default
@ Default
Definition itkOpenCLDevice.h:87
itk::OpenCLDevice::GPU
@ GPU
Definition itkOpenCLDevice.h:89
itk::OpenCLDevice::All
@ All
Definition itkOpenCLDevice.h:92
itk::OpenCLDevice::Custom
@ Custom
Definition itkOpenCLDevice.h:91
itk::OpenCLDevice::Accelerator
@ Accelerator
Definition itkOpenCLDevice.h:90
itk::OpenCLDevice::GetGlobalMemoryCacheType
CacheType GetGlobalMemoryCacheType() const
itk::OpenCLDevice::GetMaximumImage3DSize
OpenCLSize GetMaximumImage3DSize() const
itk::OpenCLDevice::GetProfilingTimerResolution
std::vcl_size_t GetProfilingTimerResolution() const
itk::OpenCLDevice::GetMaximumConstantBufferSize
unsigned long GetMaximumConstantBufferSize() const
itk::OpenCLDevice::HasExtension
bool HasExtension(const std::string &name) const
itk::OpenCLDevice::GetNativeHalfFloatVectorSize
unsigned int GetNativeHalfFloatVectorSize() const
itk::OpenCLDevice::GetMaximumImage2DSize
OpenCLSize GetMaximumImage2DSize() const
itk::OpenCLDevice::CacheType
CacheType
Definition itkOpenCLDevice.h:424
itk::OpenCLDevice::ReadOnlyCache
@ ReadOnlyCache
Definition itkOpenCLDevice.h:426
itk::OpenCLDevice::ReadWriteCache
@ ReadWriteCache
Definition itkOpenCLDevice.h:427
itk::OpenCLDevice::NoCache
@ NoCache
Definition itkOpenCLDevice.h:425
itk::OpenCLDevice::GetDriverVersion
std::string GetDriverVersion() const
itk::OpenCLDevice::GetDevices
static std::list< OpenCLDevice > GetDevices(const OpenCLDevice::DeviceType types, const OpenCLPlatform &platform=OpenCLPlatform())
itk::OpenCLDevice::IsNull
bool IsNull() const
Definition itkOpenCLDevice.h:103
itk::OpenCLDevice::GetMaximumFlopsDevices
static std::list< OpenCLDevice > GetMaximumFlopsDevices(const OpenCLDevice::DeviceType type, const OpenCLPlatform &platform=OpenCLPlatform())
itk::OpenCLDevice::GetPreferredLongVectorSize
unsigned int GetPreferredLongVectorSize() const
itk::OpenCLDevice::HasNativeKernels
bool HasNativeKernels() const
itk::OpenCLDevice::GetNativeShortVectorSize
unsigned int GetNativeShortVectorSize() const
itk::OpenCLDevice::GetMinimumAlignment
unsigned int GetMinimumAlignment() const
itk::OpenCLDevice::GetNativeIntVectorSize
unsigned int GetNativeIntVectorSize() const
itk::OpenCLDevice::HasImage2D
bool HasImage2D() const
itk::OpenCLDevice::m_Version
int m_Version
Definition itkOpenCLDevice.h:580
itk::OpenCLDevice::m_Id
cl_device_id m_Id
Definition itkOpenCLDevice.h:579
itk::OpenCLDevice::GetPreferredCharVectorSize
unsigned int GetPreferredCharVectorSize() const
itk::OpenCLDevice::GetPreferredFloatVectorSize
unsigned int GetPreferredFloatVectorSize() const
itk::OpenCLDevice::Self
OpenCLDevice Self
Definition itkOpenCLDevice.h:62
itk::OpenCLDevice::GetMaximumSamplers
unsigned int GetMaximumSamplers() const
itk::OpenCLDevice::GetExtensions
std::list< std::string > GetExtensions() const
itk::OpenCLDevice::GetMaximumWriteImages
unsigned int GetMaximumWriteImages() const
itk::OpenCLDevice::GetPreferredIntVectorSize
unsigned int GetPreferredIntVectorSize() const
itk::OpenCLDevice::GetMaximumAllocationSize
unsigned long GetMaximumAllocationSize() const
itk::OpenCLDevice::GetProfile
std::string GetProfile() const
itk::OpenCLDevice::GetAddressBits
unsigned int GetAddressBits() const
itk::OpenCLDevice::GetMaximumReadImages
unsigned int GetMaximumReadImages() const
itk::OpenCLDevice::GetVendor
std::string GetVendor() const
itk::OpenCLDevice::GetVersion
std::string GetVersion() const
itk::OpenCLDevice::GetLocalMemorySize
unsigned long GetLocalMemorySize() const
itk::OpenCLDevice::OpenCLDevice
OpenCLDevice()
Definition itkOpenCLDevice.h:65
itk::OpenCLDevice::GetByteOrder
OpenCLDevice::Endian GetByteOrder() const
itk::OpenCLDevice::GetGlobalMemoryCacheSize
unsigned long GetGlobalMemoryCacheSize() const
itk::OpenCLPlatform
The OpenCLPlatform represent platform model for OpenCL.
Definition itkOpenCLPlatform.h:45
itk::OpenCLPlatform::VendorType
VendorType
Definition itkOpenCLPlatform.h:71
itk::OpenCLSize
The OpenCLSize class defines the size of an item of work for an OpenCL kernel.
Definition itkOpenCLSize.h:50
ITKOpenCL_EXPORT
#define ITKOpenCL_EXPORT
Definition itkOpenCLExport.h:33
itkOpenCLPlatform.h
itkOpenCLSize.h
itk
Definition itkAdvancedImageToImageMetric.h:43
itk::operator==
bool ITKOpenCL_EXPORT operator==(const OpenCLCommandQueue &lhs, const OpenCLCommandQueue &rhs)
itk::operator!=
bool ITKOpenCL_EXPORT operator!=(const OpenCLCommandQueue &lhs, const OpenCLCommandQueue &rhs)
itk::OpenCLVersion
OpenCLVersion
Definition itkOpenCL.h:46
itk::VERSION_2_1
@ VERSION_2_1
Definition itkOpenCL.h:51
itk::VERSION_1_2
@ VERSION_1_2
Definition itkOpenCL.h:49
itk::VERSION_1_0
@ VERSION_1_0
Definition itkOpenCL.h:47
itk::VERSION_1_1
@ VERSION_1_1
Definition itkOpenCL.h:48
itk::VERSION_2_0
@ VERSION_2_0
Definition itkOpenCL.h:50
itk::operator<<
std::basic_ostream< charT, traits > & operator<<(std::basic_ostream< charT, traits > &strm, const OpenCLCommandQueue &queue)
Definition itkOpenCLCommandQueue.h:135

Generated on 1768596610 for elastix by 1.15.0 |