C Specification

To obtain the list of platforms accessible through the Khronos ICD Loader, call the function:

// Provided by cl_khr_icd
cl_int clIcdGetPlatformIDsKHR(
    cl_uint num_entries,
    cl_platform_id* platforms,
    cl_uint* num_platforms);
clIcdGetPlatformIDsKHR is provided by the cl_khr_icd extension.

Parameters

  • num_entries is the number of cl_platform_id entries that can be added to platforms. If platforms is not NULL, then num_entries must be greater than zero.

  • platforms returns a list of OpenCL platforms available for access through the Khronos ICD Loader. The cl_platform_id values returned in platforms are ICD compatible and can be used to identify a specific OpenCL platform. If the platforms argument is NULL, then this argument is ignored. The number of OpenCL platforms returned is the minimum of the value specified by num_entries or the number of OpenCL platforms available.

  • num_platforms returns the number of OpenCL platforms available. If num_platforms is NULL, then this argument is ignored.

Description

clIcdGetPlatformIDsKHR returns CL_SUCCESS if the function is executed successfully and there are a non zero number of platforms available. Otherwise, it returns one of the following errors:

  • CL_PLATFORM_NOT_FOUND_KHR if zero platforms are available.

  • CL_INVALID_VALUE if num_entries is equal to zero and platforms is not NULL or if both num_platforms and platforms are NULL.

See Also

Document Notes

For more information, see the OpenCL Specification

This page is extracted from the OpenCL Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0