【问题标题】:Can I call C library functions from OpenCL kernel?我可以从 OpenCL 内核调用 C 库函数吗?
【发布时间】:2013-02-02 15:26:14
【问题描述】:

我将使用 OpenCL 并行化加密/解密过程。

为此,我只想使用现有的 openSSL 加密库函数,而不是创建自己的算法,如 AES、DES。

所以我要从 OpenCL 内核调用一个 openSSL 加密函数。 能否请您澄清我的疑问,是否可能?

【问题讨论】:

  • @nouveau :似乎有人写了implementation for OpenCL。您应该发送电子邮件至 info@itekia dot com 以获取它。

标签: opencl


【解决方案1】:

不,您只能使用内置函数和您自己在内核级别定义的函数。如果您将主机和设备视为两个单独的实体,它们只能通过命令队列及其关联调用进行通信,这一点就会立即变得清晰。

【讨论】:

  • 请注意,OpenSSL 中的大多数低级加密代码只需稍加修改即可移植到 GPU,问题是如何围绕大规模并行架构重新设计 API(原始 OpenSSL init/更新/最终模型在这方面失败了)。
  • 我同意你的观点,OpenSSL 的数字运算代码可以移植到 GPU 架构,但这不是 OP 所要求的。
  • 我并没有质疑你的答案(可以这么说)事实上我赞成它,我只是为阅读这个答案的 OP 添加了一个辅助注释,因为在被告知“你不能在 GPU 上调用 X”将是“我如何自己在 GPU 上实现 X”,关于密码学,最好尽可能重用现有代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-04
  • 2011-12-06
  • 2011-04-04
  • 2019-05-13
  • 2013-03-28
相关资源
最近更新 更多