Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions api/cl_khr_unified_svm.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
// Copyright 2025 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}cl_khr_unified_svm.txt[]

=== Other Extension Metadata

*Last Modified Date*::
2025-08-30
*IP Status*::
No known IP claims.
*Contributors*::
- Brice Videau, Argonne National Laboratory
- Kévin Petit, Arm Ltd.
- Ewan Crawford, Codeplay Software Ltd.
- Paul Fradgley, Imagination Technologies
- Ben Ashbaugh, Intel
- Pekka Jääskeläinen, Intel
- Nikhil Joshi, NVIDIA
- Balaji Calidas, Qualcomm Technologies Inc.

=== Description

This extension adds additional types of Shared Virtual Memory (SVM) to OpenCL.

The extension is still under development.
To learn more about the APIs proposed for this extension, or to provide feedback, please visit:

https://github.com/KhronosGroup/OpenCL-Docs/pull/1282

=== New Commands

* {clSVMAllocWithPropertiesKHR}[[clSVMAllocWithPropertiesKHR]]
* {clSVMFreeWithPropertiesKHR}[[clSVMFreeWithPropertiesKHR]]
* {clGetSVMPointerInfoKHR}[[clGetSVMPointerInfoKHR]]
* {clGetSVMSuggestedTypeIndexKHR}[[clGetSVMSuggestedTypeIndexKHR]]

=== New Types

* {cl_svm_capabilities_khr_TYPE}
* {cl_svm_alloc_properties_khr_TYPE}
* {cl_svm_alloc_access_flags_khr_TYPE}
* {cl_svm_free_properties_khr_TYPE}
* {cl_svm_free_flags_khr_TYPE}
* {cl_svm_pointer_info_khr_TYPE}

=== New Enums

* {cl_platform_info_TYPE}
** {CL_PLATFORM_SVM_TYPE_CAPABILITIES_KHR_ANCHOR}
* {cl_device_info_TYPE}
** {CL_DEVICE_SVM_TYPE_CAPABILITIES_KHR_ANCHOR}
* {cl_svm_capabilities_khr_TYPE}
** {CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_SYSTEM_ALLOCATED_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_DEVICE_OWNED_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_HOST_OWNED_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_HOST_READ_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_HOST_WRITE_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_HOST_MAP_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_DEVICE_READ_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_DEVICE_WRITE_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_DEVICE_ATOMIC_ACCESS_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_CONCURRENT_ACCESS_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR_ANCHOR}
** {CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR_ANCHOR}
* {cl_svm_alloc_properties_khr_TYPE}
** {CL_SVM_ALLOC_ASSOCIATED_DEVICE_HANDLE_KHR_ANCHOR}
** {CL_SVM_ALLOC_ACCESS_FLAGS_KHR_ANCHOR}
** {CL_SVM_ALLOC_ALIGNMENT_KHR_ANCHOR}
* {cl_svm_alloc_access_flags_khr_TYPE}
** {CL_SVM_ALLOC_ACCESS_HOST_NOREAD_KHR_ANCHOR}
** {CL_SVM_ALLOC_ACCESS_HOST_NOWRITE_KHR_ANCHOR}
** {CL_SVM_ALLOC_ACCESS_DEVICE_NOREAD_KHR_ANCHOR}
** {CL_SVM_ALLOC_ACCESS_DEVICE_NOWRITE_KHR_ANCHOR}
* {cl_svm_pointer_info_khr_TYPE}
** {CL_SVM_INFO_TYPE_INDEX_KHR_ANCHOR}
** {CL_SVM_INFO_CAPABILITIES_KHR_ANCHOR}
** {CL_SVM_INFO_PROPERTIES_KHR_ANCHOR}
** {CL_SVM_INFO_ACCESS_FLAGS_KHR_ANCHOR}
** {CL_SVM_INFO_BASE_PTR_KHR_ANCHOR}
** {CL_SVM_INFO_SIZE_KHR_ANCHOR}
** {CL_SVM_INFO_ASSOCIATED_DEVICE_HANDLE_KHR_ANCHOR}
* {cl_kernel_exec_info_TYPE}
** {CL_KERNEL_EXEC_INFO_SVM_INDIRECT_ACCESS_KHR_ANCHOR}

=== SVM Type Convenience Macros

* {CL_SVM_TYPE_MACRO_COARSE_GRAIN_BUFFER_KHR_ANCHOR}
* {CL_SVM_TYPE_MACRO_FINE_GRAIN_BUFFER_KHR_ANCHOR}
* {CL_SVM_TYPE_MACRO_DEVICE_KHR_ANCHOR}
* {CL_SVM_TYPE_MACRO_HOST_KHR_ANCHOR}
* {CL_SVM_TYPE_MACRO_SINGLE_DEVICE_SHARED_KHR_ANCHOR}
* {CL_SVM_TYPE_MACRO_SYSTEM_KHR_ANCHOR}

=== Version History

* Revision 0.9.0, 2025-08-30
** Initial revision incorporated into the main specification (experimental).
Loading