clGetPlatformInfo
clGetPlatformInfo
2007-2011 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.
3
clGetPlatformInfo Get specific information about the OpenCL platform.

##

cl_int `clGetPlatformInfo` cl_platform_id platform cl_platform_info param_name size_t param_value_size void*param_value size_t*param_value_size_ret

## Parameters

`platform`

  The platform ID returned by clGetPlatformIDs or can be NULL. If `platform` is NULL, the behavior is implementation-defined.

`param_name`

  An enumeration constant that identifies the platform information being queried. It can be one of the values specified in the table below.

`param_value`

  A pointer to memory location where appropriate values for a given `param_value` will be returned. Possible `param_value` values returned are listed in the table below. If `param_value` is NULL, it is ignored.

`param_value_size`

  Specifies the size in bytes of memory pointed to by `param_value`. This size in bytes must be ≥ size of return type specified in the table below.

`param_value_size_ret`

  Returns the actual size in bytes of data being queried by `param_value`. If `param_value_size_ret` is NULL, it is ignored

  OpenCL Platform Queries

  cl_platform_info | Return Type | Description
  --- | --- | ---
  `CL_PLATFORM_PROFILE` | char[] | OpenCL profile string. Returns the profile name supported by the implementation. The profile name returned can be one of the following strings: FULL_PROFILE - if the implementation supports the OpenCL specification (functionality defined as part of the core specification and does not require any extensions to be supported). EMBEDDED_PROFILE - if the implementation supports the OpenCL embedded profile. The embedded profile is defined to be a subset for each version of OpenCL.
  `CL_PLATFORM_VERSION` | char[] | OpenCL version string. Returns the OpenCL version supported by the implementation. This version string has the following format: `OpenCL<space><major_version.minor_version><space><platform-specific information>` The `major_version.minor_version` value returned will be 1.2.
  `CL_PLATFORM_NAME` | char[] | Platform name string.
  `CL_PLATFORM_VENDOR` | char[] | Platform vendor string.
  `CL_PLATFORM_EXTENSIONS` | char[] | Returns a space-separated list of extension names (the extension names themselves do not contain any spaces) supported by the platform. Extensions defined here must be supported by all devices associated with this platform.

## Notes

A null terminated string is returned by OpenCL query function calls if the return type of the information being queried is a char[].

## Errors

Returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns the following:

- CL_INVALID_PLATFORM if `platform` is not a valid platform.
- CL_INVALID_VALUE if `param_name` is not one of the supported values or if size in bytes specified by `param_value_size` is less than size of return type and `param_value` is not a NULL value.
- CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.

## Specification

OpenCL Specification

## Also see

clGetPlatformIDs

##