{"id":13437155,"url":"https://github.com/KhronosGroup/OpenCL-SDK","last_synced_at":"2025-03-19T06:30:44.526Z","repository":{"id":40349500,"uuid":"239568844","full_name":"KhronosGroup/OpenCL-SDK","owner":"KhronosGroup","description":"OpenCL SDK","archived":false,"fork":false,"pushed_at":"2025-03-11T16:17:00.000Z","size":643,"stargazers_count":624,"open_issues_count":45,"forks_count":135,"subscribers_count":39,"default_branch":"main","last_synced_at":"2025-03-11T17:31:18.161Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KhronosGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2020-02-10T17:18:01.000Z","updated_at":"2025-03-11T16:17:05.000Z","dependencies_parsed_at":"2023-11-16T23:59:36.998Z","dependency_job_id":"a0bc4c42-2ba7-4f30-8a69-f586e5a67397","html_url":"https://github.com/KhronosGroup/OpenCL-SDK","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-SDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-SDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-SDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenCL-SDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KhronosGroup","download_url":"https://codeload.github.com/KhronosGroup/OpenCL-SDK/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244370820,"owners_count":20442306,"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":"2024-07-31T03:00:54.716Z","updated_at":"2025-03-19T06:30:44.513Z","avatar_url":"https://github.com/KhronosGroup.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# OpenCL\u003csup\u003eTM\u003c/sup\u003e SDK (in development)\n\nThis is the Khronos OpenCL SDK. It brings together all the components needed to\ndevelop OpenCL applications:\n\n- OpenCL Headers (`external/OpenCL-Headers/`)\n- OpenCL C++ bindings (`external/OpenCL-CLHPP/include`)\n- OpenCL Loader (`external/OpenCL-ICD-Loader`)\n- OpenCL utility library (`lib/include`)\n\nIt also contains resources useful to OpenCL developers:\n\n- Code samples (`samples/`)\n- Documentation (`docs/`)\n\n## Build Instructions\n\n### Dependencies\n\n- This repository uses sub-modules for the OpenCL Headers, OpenCL C++ bindings, and OpenCL ICD Loader and some of their transitive dependencies.\n\n  - To clone a new repository with all sub-modules included, use the `--recursive` option. Note that this option clones all sub-modules and their dependencies, which are not strictly required for the OpenCL SDK:\n\n        git clone --recursive https://github.com/KhronosGroup/OpenCL-SDK.git\n\n  - Alternatively, to clone only the sub-modules for the OpenCL SDK, first clone this repository without sub-modules included then setup submodules non-recursively:\n\n        git clone https://github.com/KhronosGroup/OpenCL-SDK.git\n        git submodule init\n        git submodule update\n\n- The SDK uses CMake for its build system.\nIf CMake is not provided by your build system or OS package manager, please consult the [CMake website](https://cmake.org).\n\n- The SDK samples depend on\n\n  - [Templatized C++ Command Line Parser Library](http://tclap.sourceforge.net/) (aka. TCLAP)\n  - [Simple and Fast Multimedia Library](https://www.sfml-dev.org/) (aka. SFML)\n  - [OpenGL Mathematics](https://glm.g-truc.net/0.9.9/index.html) (aka. GLM)\n\n### Example Build\n\n\u003e The example build guide uses [Vcpkg](https://vcpkg.io/en/index.html) to fetch all dependencies. Note that Vcpkg is _not_ a requirement and is only used for convenience. One may provide dependencies through any other CMake mechanism. For details on how to install Vcpkg, refer to its [Getting Started Guide](https://vcpkg.io/en/getting-started.html). The example build assumes targeting 64-bit Windows.\n\n1. Clone this repo with the rest of the OpenCL SDK components:\n\n       git clone https://github.com/KhronosGroup/OpenCL-SDK.git\n       git submodule init\n       git submodule update\n\n1. Install dependencies:\n\n       vcpkg --triplet x64-windows install sfml tclap glm\n\n1. Build and install SDK with samples and no downstream unit tests:\n\n       cmake -A x64 `\n             -D BUILD_TESTING=OFF `\n             -D BUILD_DOCS=OFF `\n             -D BUILD_EXAMPLES=OFF `\n             -D BUILD_TESTS=OFF `\n             -D OPENCL_SDK_BUILD_SAMPLES=ON `\n             -D OPENCL_SDK_TEST_SAMPLES=OFF `\n             -D CMAKE_TOOLCHAIN_FILE=/vcpkg/install/root/scripts/buildsystems/vcpkg.cmake `\n             -D VCPKG_TARGET_TRIPLET=x64-windows `\n             -B ./OpenCL-SDK/build -S ./OpenCL-SDK\n       cmake --build ./OpenCL-SDK/build --target install\n\n_(Note: on Linux, paths to dependent libraries are automatically handled by RPATH in both the build and install tree. On Windows, all DLLs have to be on the `PATH`. Vcpkg copies dependent DLLs to the build tree, but in order to do the same in the install tree, a sufficiently new CMake version is required. CMake 3.21 introduces `install(IMPORTED_RUNTIME_ARTIFACTS)`.)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKhronosGroup%2FOpenCL-SDK","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKhronosGroup%2FOpenCL-SDK","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKhronosGroup%2FOpenCL-SDK/lists"}