1 个不稳定版本
0.1.0 | 2020年2月17日 |
---|
#72 in #opencl
220KB
5K SLoC
open_cl_rust
一个安全、快速、无废话的 Rust 库,用于与 OpenCL 交互。
注意:目前这个库是非常初级的软件。使用风险自负!
注意:目前这个库只在我的 Macbook 上使用过。Linux 和 Windows 尚未尝试。
C FFI 哲学
-
所有与原始指针的交互都是不安全的。
-
所有接受原始指针作为参数的函数都是不安全的。
-
所有返回原始指针的函数都是不安全的。
-
未标记为
unsafe
的函数不能返回原始指针。 -
只允许通过标记为
unsafe
的函数访问原始指针。
学习资源
-
https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/
-
http://www.aronaldg.org/webfiles/compecon/src/opencl/doc/OpenCL_Mac_OS_X.pdf
备注
-
注意:OpenCL 1.0 不是线程安全的。我们不会支持它。
-
注意:调查 OpenCL 对数字的限制以及
num
crate 对 OpenCL 的安全性。 -
注意:实现 Sampler。
-
注意:实现 UserEvent 用于 (clCreateUserEvent, clSetUserEventStatus)
-
注意:实现 Markers
-
注意:实现 Barriers
依赖项
~8–19MB
~239K SLoC