【问题标题】:How to use Shared Virtual Memory in Boost::Compute and custom kernel?如何在 Boost::Compute 和自定义内核中使用共享虚拟内存?
【发布时间】:2015-08-08 20:00:14
【问题描述】:

我编写了一个简单的内核,它对树执行递归,例如:

struct item {
    int data;
    item *rnext, *lnext;
} *items[NUM_ITEMS];

所以我想将这种指向自身的树项数组传递给 opencl 内核,而 SVM 似乎是最好的方法(我对 opencl 2.0 毫无疑问)。

我的问题是如何使用 boost::compute 来做到这一点,这样内核将接收整数的三元组或类似的东西。

谢谢!

【问题讨论】:

    标签: opencl boost-compute


    【解决方案1】:

    Boost.Compute 确实支持使用boost::compute::svm_* 函数的共享虚拟内存。

    对于您的应用程序,您应该能够使用svm_alloc() 分配一个 SVM 内存区域,用您的输入数据填充它,然后使用常规 kernel::set_arg() 函数将其传递给您的内核(它有一个重载用于 SVM 内存对象)。

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      相关资源
      最近更新 更多