2021-11-12 10:23:47 +08:00
|
|
|
|
# OpenCL<sup>TM</sup> API C++ 绑定
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
cl2.hpp 头文件的 Doxgen 文档可以在这里找到:
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
http://khronosgroup.github.io/OpenCL-CLHPP/
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
软件架构:
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
* `include/CL/cl2.hpp`:
|
|
|
|
|
|
最新的、维护的 C++ 绑定版本。它应该适用于所有版本的 OpenCL(包括 1.x)。这是大多数用户想要的。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
* `docs`:
|
|
|
|
|
|
Doxygen 文件用于为 `cl2.hpp` 生成 HTML 文档。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
* `examples`:
|
|
|
|
|
|
使用Bind的基本功能的简单示例应用程序。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
* `tests`:
|
|
|
|
|
|
一组(非常小,不完整的)回归测试。构建测试需要 Python、Ruby、Unity 和 CMock。对于最后两个我们使用 [Unity 2.1.0](https://github.com/ThrowTheSwitch/Unity/releases/tag/v2.1.0) 和 [CMock top-of-tree from Github](https://github .com/ThrowTheSwitch/CMock)(Sourceforge 上的 2.0.204 版本不起作用)。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
* `CMakeLists.txt`:
|
|
|
|
|
|
为Bind安装的示例和测试以及逻辑构建系统。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
要获取测试所需的外部依赖项,请在克隆存储库时使用 `--recursive`,或运行 `git submodule update --init`。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
您可能需要使用变量 `OPENCL_INCLUDE_DIR` 和 `OPENCL_LIB_DIR` 告诉 CMake 在哪里可以找到 OpenCL 头文件和库。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
这些可以设置为环境变量,也可以使用语法`-D<VAR>=<VALUE>`在cmake命令行上设置。
|
2021-11-11 01:57:54 +00:00
|
|
|
|
|
2021-11-12 10:23:47 +08:00
|
|
|
|
以下是用于检出和构建 C++ 绑定的示例命令集(根据需要调整路径):
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
git clone --recursive https://github.com/KhronosGroup/OpenCL-CLHPP
|
|
|
|
|
|
cd OpenCL-CLHPP
|
|
|
|
|
|
mkdir build
|
|
|
|
|
|
cd build
|
|
|
|
|
|
cmake .. -DOPENCL_INCLUDE_DIR=/path/to/OpenCL/headers -DOPENCL_LIB_DIR=/path/to/OpenCL/library
|
|
|
|
|
|
make
|
|
|
|
|
|
make test
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
构建后,头文件保存在`build/include/CL/`中。
|
|
|
|
|
|
|
|
|
|
|
|
如果 Doxygen 可用,您可以通过键入 `make docs` 来生成 HTML 文档。
|