Hardware Information
Advanced Computational Language
Collaboration diagram for Hardware Information:

## Functions

std::string | acl::getPlatformVendor (const CommandQueue &queue)
std::string | acl::getDeviceName (const CommandQueue &queue)
cl_device_type | acl::getDeviceType (const CommandQueue &queue)
cl_uint | acl::getNComputeUnits (const CommandQueue &queue)
unsigned int | acl::getAlignment (const CommandQueue &queue)
cl_device_local_mem_type | acl::getLocalMemoryType (const CommandQueue &queue)
cl_ulong | acl::getLocalMemorySize (const CommandQueue &queue)
size_t | acl::getMaxItemSize (const CommandQueue &queue)
cl_uint | acl::getVectorWidth (const CommandQueue &queue, const TypeID typeID)
bool | acl::extensionAvailable (const CommandQueue &queue, const Extension extension)
cl_device_fp_config | acl::doublePrecisionSupport (const CommandQueue &queue)
cl_ulong | acl::getKernelLocalMemSize (const Kernel &kernel)
cl_ulong | acl::getKernelPrivateMemSize (const Kernel &kernel)

## Detailed Description

## Function Documentation

## doublePrecisionSupport()

cl_device_fp_config acl::doublePrecisionSupport | ( | const CommandQueue & | queue | ) |

Describes double precision floating-point capability of the OpenCL device. Returns a non-zero value if double precision FP is supported. See CL_DEVICE_DOUBLE_FP_CONFIG for more info.

## extensionAvailable()

bool acl::extensionAvailable | ( | const CommandQueue & | queue,
|  | const Extension | extension
| ) |  |

Checks availability of an OpenCL extension

## getAlignment()

unsigned int acl::getAlignment | ( | const CommandQueue & | queue | ) |

Returns the smallest alignment in bytes which can be used for any data type.

## getDeviceName()

std::string acl::getDeviceName | ( | const CommandQueue & | queue | ) |

Returns device name.

## getDeviceType()

cl_device_type acl::getDeviceType | ( | const CommandQueue & | queue | ) |

Returns device type.

## getKernelLocalMemSize()

cl_ulong acl::getKernelLocalMemSize | ( | const Kernel & | kernel | ) |

Returns the amount of local memory in bytes being used by a kernel. This includes local memory that may be needed by an implementation to execute the kernel, variables declared inside the kernel with the __local address qualifier and local memory to be allocated for arguments to the kernel declared as pointers with the __local address qualifier and whose size is specified with clSetKernelArg.

## getKernelPrivateMemSize()

cl_ulong acl::getKernelPrivateMemSize | ( | const Kernel & | kernel | ) |

Returns the minimum amount of private memory, in bytes, used by each work-item in the kernel. This value may include any private memory needed by an implementation to execute the kernel, including that used by the language built-ins and variable declared inside the kernel with the __private qualifier.

## getLocalMemorySize()

cl_ulong acl::getLocalMemorySize | ( | const CommandQueue & | queue | ) |

Size of local memory arena in bytes. The minimum value is 1 KB.

## getLocalMemoryType()

cl_device_local_mem_type acl::getLocalMemoryType | ( | const CommandQueue & | queue | ) |

Returns type of local memory supported. CL_LOCAL (implies dedicated local memory storage such as SRAM) or CL_GLOBAL.

## getMaxItemSize()

size_t acl::getMaxItemSize | ( | const CommandQueue & | queue | ) |

Returns the maximum number of work-items that can be specified in '0' dimension of the work-group to clEnqueueNDRangeKernel.

## getNComputeUnits()

cl_uint acl::getNComputeUnits | ( | const CommandQueue & | queue | ) |

Returns number of computer units on the device.

## getPlatformVendor()

std::string acl::getPlatformVendor | ( | const CommandQueue & | queue | ) |

Returns vendor name.

## getVectorWidth()

cl_uint acl::getVectorWidth | ( | const CommandQueue & | queue,
|  | const TypeID | typeID
| ) |  |

Returns the native ISA vector width. The vector width is defined as the number of scalar elements that can be stored in the vector. If the cl_khr_fp64 extension is not supported, CL_DEVICE_NATIVE_DOUBLE must return 0.