【发布时间】:2012-11-02 10:02:55
【问题描述】:
我在 RCpp 邮件列表中找不到关于 RInside 的几个问题。您可以在 C++ main() 方法之外定义 RInside() 吗?有没有这样的例子?或者我可以在每个 C++ 应用程序中只有一个 R 嵌入式会话吗?有没有办法我可以使用我的 C++ papp 通过 OpenMP 之类的东西同时调用多个 R 脚本? 谢谢
【问题讨论】:
我在 RCpp 邮件列表中找不到关于 RInside 的几个问题。您可以在 C++ main() 方法之外定义 RInside() 吗?有没有这样的例子?或者我可以在每个 C++ 应用程序中只有一个 R 嵌入式会话吗?有没有办法我可以使用我的 C++ papp 通过 OpenMP 之类的东西同时调用多个 R 脚本? 谢谢
【问题讨论】:
您可以在任何地方定义您的RInside() 实例。
但您仅限于每个进程只有一个实例,因为 R 是单线程的。所以我发现在main() 中实例化最简单,因为我可以传递一个引用。查看包中的各种示例脚本。
是的,如果您想要“许多”实例,那么通过 MPI 生成不同的进程的技巧是一个很好的技巧。
对于 OpenMP,我发现由于 R 的单线程性,您必须非常小心。
但是,如果失败,您为什么不尝试想要尝试并报告 rcpp-devel 列表呢?
【讨论】: