[英]Rcpp sourceCpp compiler settings
我正在使用Rcpp加速在R(3.4,Windows7)中重复调用的函数,我希望更改编译器设置。
当我打电话: sourceCpp("scoreseq1.1.cc", verbose=TRUE)
部分输出内容如下:
C:/RBuildTools/3.4/mingw_64/bin/g++ -I“C:/PROGRA~1/R/R-34~1.1/include”-O2 -Wall -mtune = core2 -c scoreseq1.1.cc -o scoreseq1 .1.o
我想将-mtune
更改为haswell
,并将-O2
更改为-O3
以寻求一些性能改进。
有没有办法通过sourceCpp
或cppFunction
来做到这cppFunction
,我需要my.cc文件中的特殊标头,还是我需要修改我的系统上的某个文件(如果有的话,是什么文件?!)
谢谢!
不,你不能(轻松),一般不能从一个功能。
这些设置从构建R本身时“固定”。 您可以编辑该文件 - 但每次重建/重新安装R时都必须这样做。
在我的盒子上,文件是$(R RHOME)/etc/Makeconf
。
以防万一有类似的问题。 您可以在C ++源代码中执行此操作。 以下覆盖命令行编译器设置:
void
__attribute__((optimize("-O3"),target("tune=haswell")))
foo()
{
// your code goes here
}
有关参考,请参阅: https : //gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Function-Attributes.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.