{"id":27940535,"url":"https://github.com/khronosgroup/opencl-registry","last_synced_at":"2026-02-24T16:36:18.419Z","repository":{"id":14845064,"uuid":"75988477","full_name":"KhronosGroup/OpenCL-Registry","owner":"KhronosGroup","description":"OpenCL API and Extension Registry.","archived":false,"fork":false,"pushed_at":"2025-05-01T18:47:55.000Z","size":126905,"stargazers_count":116,"open_issues_count":4,"forks_count":46,"subscribers_count":50,"default_branch":"main","last_synced_at":"2025-05-07T10:17:21.191Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KhronosGroup.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-12-09T01:03:40.000Z","updated_at":"2025-05-01T18:47:59.000Z","dependencies_parsed_at":"2025-05-01T19:46:01.627Z","dependency_job_id":null,"html_url":"https://github.com/KhronosGroup/OpenCL-Registry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-Registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-Registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-Registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-Registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KhronosGroup","download_url":"https://codeload.github.com/KhronosGroup/OpenCL-Registry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252856568,"owners_count":21814858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-07T10:18:04.147Z","updated_at":"2025-10-31T00:31:51.786Z","avatar_url":"https://github.com/KhronosGroup.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"= OpenCL-Registry\n\nThe OpenCL-Registry repository contains the OpenCL API and Extension\nRegistry, including specifications, reference pages, and reference cards.\nIt is also used as a backing store for the web view of the registry at\nhttps://registry.khronos.org/OpenCL/ ; commits to the main branch of this\nrepository will be reflected there.\n\nPlease file issues with the OpenCL API (specification bugs, feature\nrequests, etc.) in the companion\nlink:https://github.com/KhronosGroup/OpenCL-Docs[OpenCL-Docs] repository.\n\nIssues that should be filed in *this* repository include adding OpenCL\nextension specifications, and problems with the structure and content of the\nregistry *itself*.\n\n\n== Reserving OpenCL Enumerant Ranges\n\nOpenCL enumerants are now documented in the\nlink:https://github.com/KhronosGroup/OpenCL-Docs[OpenCL-Docs] repository in\nthe file\nlink:https://github.com/KhronosGroup/OpenCL-Docs/blob/main/xml/cl.xml[xml/cl.xml].\n\nNew enumerant ranges can be allocated by proposing a pull request to `main`\nbranch of OpenCL-Docs modifying `cl.xml`, following the\nexisting examples.\nAllocate ranges starting at the lowest free values available (search for\n\"`Reserved for vendor extensions`\").\nRanges are not officially allocated until your pull request is *accepted*\ninto `main` branch of the OpenCL-Docs repository.\nAt that point you can use values from your assigned range for API\nextensions.\n\n\n== Adding Khronos Extension Specifications\n\nKhronos `khr` extensions must now be documented in the OpenCL API and OpenCL\nC Specifications, written as conditionally-included markup.\nPropose a pull request against the appropriate specification markup and XML\nfiles in the link:https://github.com/KhronosGroup/OpenCL-Docs[OpenCL-Docs]\nrepository.\n\n\n== Adding Vendor Extension Specifications\n\nVendor extension specification documents should be written as separate\nasciidoc markup files in the\nlink:https://github.com/KhronosGroup/OpenCL-Docs[OpenCL-Docs] repository.\nUse the\nlink:https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_extension_template.asciidoc[asciidoc\nextension template] and follow the markup style of existing, similar\nextensions.\nPropose a pull request against the appropriate specification markup and XML\nfiles in the link:https://github.com/KhronosGroup/OpenCL-Docs[OpenCL-Docs]\nrepository when you are ready to publish the extension.\n\nThe repository maintainer will assist with importing the HTML generated from\nthe asciidoc source file and making needed changes to files in this\nrepository when publishing:\n\n  * Modify 'extensions/registry.py' to include the extension, using the next\n    free extension number.\n    Execute the python script 'nextfree.py' in the 'extensions/' directory\n    to find the next free number.\n    The extension `flags` must be marked as `public` , similar to other\n    entries in 'registry.py', for the extension to be linked from the\n    registry index page.\n  * Include that extension number in the extension specification document\n  * In the 'extensions/' directory, `make` to regenerate the HTML index file\n    'clext.php' from 'registry.py'.\n    If this doesn't succeed due to not having the right Python version or\n    something like that, we'll take care of it when merging to main.\n\nOlder extensions are written as text (`.txt`) files.\nSometimes extension text files contain inappropriate UTF-8 characters.\nThey should be restricted to the ASCII subset of UTF-8.\nProblematic characters can be identified using the iconv Linux command-line\ntool:\n\n    iconv -c -f utf-8 -t ascii filename.txt\n\n\n== Repository Contents\n\nInteresting files in this repository include:\n\n* 'index.php' - top-level index page for the web view. This relies on PHP\n  include files found elsewhere on https://www.khronos.org and so is not very\n  useful in isolation.\n* 'extensions/' - OpenCL extension specifications, grouped into\n  vendor-specific subdirectories.\n** 'extensions/registry.py' - extension registry.\n** 'extensions/makeindex.py' - create HTML extension indices from 'registry.py'.\n** 'extensions/nextfree.py' - determine the next free extension number in\n   'registry.py'.\n* 'sdk/' - OpenCL reference pages and reference cards. There are separate\n  sets for each API version. The current (OpenCL 2.2) reference pages are\n  extracted from the OpenCL Specification, so problems with these pages\n  should be filed in the OpenCL-Docs repository - only the generated HTML\n  for the reference pages is published here.\n* 'specs/' - OpenCL specification documents.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhronosgroup%2Fopencl-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhronosgroup%2Fopencl-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhronosgroup%2Fopencl-registry/lists"}