# clGPU
**Repository Path**: mirrors_intel/clGPU
## Basic Information
- **Project Name**: clGPU
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-05-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
DISCONTINUATION OF PROJECT.
This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
# Intel® Compute Libraries for GPU
[](LICENSE)

## Introduction
*Intel® Compute Libraries for GPU* (**Intel® clGPU**) is a framework and repository for implementation of compute libraries (e.g. BLAS) accelerated using Intel® Processor Graphics.
It provides ability to develop efficient and optimized kernels for Intel GPU and mechanism of their execution.
This technical preview includes [**Intel® clBLAS**](include/iclBLAS) - Basic Linear Algebra Subprograms (BLAS) implementation optimized for Intel® GPU.
As with any technical preview, APIs may change in future updates.
## License
Intel® clGPU is licensed under
[Apache License Version 2.0](LICENSE).
### Attached licenses
Intel® clGPU uses 3rd-party components licensed under following licenses:
- *googletest* under [Google\* License](https://github.com/google/googletest/blob/master/googletest/LICENSE)
- *OpenCL™ ICD and C++ Wrapper* under [Khronos™ License](https://github.com/KhronosGroup/OpenCL-CLHPP/blob/master/LICENSE.txt)
## Project structure
- [include/iclgpu](include/iclgpu) - core library API
- [include/iclBLAS](include/iclBLAS) - Intel® clBLAS API
- [core](core) - the core library implementation
- [libs/blas](libs/blas) - Intel® clBLAS API implementation
## Documentation
The online Intel® clGPU documentation is at [GitHub pages](https://intel.github.io/clGPU)
Module specific documentation:
- [Intel® clGPU Core Library](https://intel.github.io/clGPU/docs/iclgpu/html)
- [Intel® clBLAS API](https://intel.github.io/clGPU/docs/iclBLAS/html)
> There is also inline documentation available that can be [generated with Doxygen](#generating-documentation).
## Support
Please report issues and suggestions via
[GitHub issues](../../issues).
## How to Contribute
We welcome community contributions to Intel® clGPU. If you have an idea how to improve the library:
- Share your proposal via
[GitHub issues](../../issues)
- Ensure you can build the product and run all the examples with your patch
- In the case of a larger feature, create a test
- Submit a [pull request](../../pulls)
We will review your contribution and, if any additional fixes or modifications
are necessary, may provide feedback to guide you. When accepted, your pull
request will be merged into our internal and GitHub repositories.
## System Requirements
Intel® clGPU supports Intel® HD Graphics and Intel® Iris® Graphics and is optimized for
- Codename *Skylake*:
- Intel® HD Graphics 510 (GT1, *client* market)
- Intel® HD Graphics 515 (GT2, *client* market)
- Intel® HD Graphics 520 (GT2, *client* market)
- Intel® HD Graphics 530 (GT2, *client* market)
- Intel® Iris® Graphics 540 (GT3e, *client* market)
- Intel® Iris® Graphics 550 (GT3e, *client* market)
- Intel® Iris® Pro Graphics 580 (GT4e, *client* market)
- Intel® HD Graphics P530 (GT2, *server* market)
- Intel® Iris® Pro Graphics P555 (GT3e, *server* market)
- Intel® Iris® Pro Graphics P580 (GT4e, *server* market)
- Codename *Apollolake*:
- Intel® HD Graphics 500
- Intel® HD Graphics 505
- Codename *Kabylake*:
- Intel® HD Graphics 610 (GT1, *client* market)
- Intel® HD Graphics 615 (GT2, *client* market)
- Intel® HD Graphics 620 (GT2, *client* market)
- Intel® HD Graphics 630 (GT2, *client* market)
- Intel® Iris® Graphics 640 (GT3e, *client* market)
- Intel® Iris® Graphics 650 (GT3e, *client* market)
- Intel® HD Graphics P630 (GT2, *server* market)
- Intel® Iris® Pro Graphics 630 (GT2, *server* market)
Intel® clGPU currently uses OpenCL™ with multiple Intel® OpenCL™ extensions and requires Intel® Graphics Driver to run.
Intel® clGPU requires CPU with Intel® SSE/Intel® AVX support.
---
The software dependencies are:
- [CMake\*](https://cmake.org/download/) 3.5 or later
- C++ compiler with partiall or full C++14 standard support compatible with:
- GNU\* Compiler Collection 5.2 or later
- Visual C++ 2015 (MSVC++ 19.0) or later
- [python™](https://www.python.org/downloads/) 2.7 or later (scripts are both compatible with python™ 2.7.x and python™ 3.x)
- *(optional)* [Doxygen\*](http://www.stack.nl/~dimitri/doxygen/download.html) 1.8.13 or later
Needed for manual generation of documentation from inline comments.
---
- The software was validated on:
- CentOS* 7.2 with GNU* Compiler Collection 5.2 (64-bit only), using Intel® Graphics Compute Runtime for OpenCL™ [Linux driver package](https://github.com/intel/compute-runtime) .
- Windows® 10 and Windows® Server 2012 R2 with MSVC 14.0, using [Intel® Graphics Driver for Windows® [15.60] driver package](https://downloadcenter.intel.com/download/27412).
More information on Intel® OpenCL™ drivers can be found [here](https://software.intel.com/en-us/articles/opencl-drivers).
We recommend to use these drivers.
## Building
Download [Intel® clGPU source code](https://github.com/intel/clGPU/archive/master.zip)
or clone the repository to your system:
```shellscript
git clone https://github.com/intel/clGPU.git
```
Satisfy all software dependencies and ensure that the versions are correct before building.
Intel® clGPU uses multiple 3rd-party components. They are stored in binary form in `common` subdirectory. Currently they are prepared for MSVC++ and GCC\*. They will be cloned with repository.
---
Intel® clGPU uses a CMake-based build system. You can use CMake command-line tool or CMake GUI (`cmake-gui`) to generate required solution.
For Windows system, you can call in `cmd` (or `powershell`):
```shellscript
@REM Generate 64-bit solution (solution contains multiple build configurations)...
cmake -E make_directory build && cd build && cmake -G "Visual Studio 14 2015 Win64" ..
```
Created solution can be opened in Visual Studio 2015 or built using appropriate `msbuild` tool
(you can also use `cmake --build .` to select build tool automatically).
For Unix and Linux systems:
```shellscript
@REM Create GNU makefile for release and build it...
cmake -E make_directory build && cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make
@REM Create Ninja makefile for debug and build it...
cmake -E make_directory build && cd build && cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug .. && ninja -k 20
```
CMake solution offers multiple options which you can specify using normal CMake syntax (`-D=`):
| CMake option | Type | Description |
|:------------------------------------------|:---------|:-----------------------------------------------------------------------------|
| CMAKE\_BUILD\_TYPE | STRING | Build configuration that will be used by generated makefiles (it does not affect multi-configuration generators like generators for Visual Studio solutions). Currently supported: `Debug` (default), `Release` |
| ICLGPU\_\_ARCHITECTURE\_TARGET | STRING | Architecture of target system (where binary output will be deployed). CMake will try to detect it automatically (based on selected generator type, host OS and compiler properties). Specify this option only if CMake has problem with detection. Currently supported: `Windows32`, `Windows64`, `Linux64` |
| ICLGPU\_\_OUTPUT\_DIR | PATH | Location where built artifacts will be written to. It is set automatically to roughly `build/out//` subdirectory. |
### Generating documentation
Documentation is provided inline and can be generated in HTML format with Doxygen. We recommend to use latest
[Doxygen\*](http://www.stack.nl/~dimitri/doxygen/download.html) and [GraphViz\*](http://www.graphviz.org/download/).
Documentation templates and configuration files are stored in `docs` subdirectories.
You can generate documentation for the core library and Intel® clBLAS separately.
---
\* Other names and brands may be claimed as the property of others.
Copyright © 2018, Intel® Corporation