我最近在Rcpp完成了我的第一个项目。我准备了一个Rcpp源代码(比如code_1),在我的情况下运行正常,然后我使用Openmp来加快运行时间,它给了我第二个代码(比如code_2),它运行得更快。但是当我使用第二个代码构建我的包时,我发现运行时间与code_1相同。 在我的包中,我通过使用以下头部结构以及代码的相关部分来保护对OpenMP的任何引用:
#ifdef _OPENMP
// related commands
#endif
确实,我根据此链接修改了Makevar
文件,如下所示
R package with C/C++ and openMP: how to make "Makevars" file under "mypackage/src/" folder?:
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)$(SHLIB_OPENMP_CFLAGS)
PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS)
我不知道如何减少包中的运行时间,类似于我的第二个源代码。谁有这方面的经验?