C Specification

To release a context, call the function:

// Provided by CL_VERSION_1_0
cl_int clReleaseContext(
    cl_context context);

Parameters

  • context specifies the OpenCL context to release.

Description

clReleaseContext decrements the context reference count. After the reference count becomes zero and all the objects attached to context (such as memory objects, command-queues) are released, the context is deleted. When the context is deleted, any commands associated with the context that have not completed may be abnormally terminated. Using this function to release a reference that was not obtained by creating the object or by calling clRetainContext causes undefined behavior.

clReleaseContext returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:

  • CL_INVALID_CONTEXT

    • if context is not a valid OpenCL context

  • CL_OUT_OF_RESOURCES

    • if there is a failure to allocate resources required by the OpenCL implementation on the device

  • CL_OUT_OF_HOST_MEMORY

    • if there is a failure to allocate resources required by the OpenCL implementation on the host

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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0