有没有办法从SEXP对象中提取C风格的函数指针?
Writing R Extensions zero-finding example几乎就是我想要的。 f.check
的正文从R传递到C,然后使用eval
进行调用。由于我在CUDA内部工作,因此我无法以这种方式在SEXP对象上调用eval
或直接使用Function
中的Rcpp
类型。我必须解压缩SEXP中的原始函数指针并将其传递给CUDA内核。
答案 0 :(得分:1)
GPU只能运行由专为架构设计的代码组成的内核。我对CUDA知之甚少,但我认为原理与OpenCL相同,OpenCL几乎是C,带有处理GPU内存和并行架构的API。您无法在GPU中运行R或C ++代码。所有指针都会给你一个卡在GPU中的数字。您无法从GPU调用主内存中的函数。