我必须对R
中的大型数字矩阵(例如100,000 x 20,000)执行很多元素式算术和特殊函数数学运算,包括:
exp
,log
,lbeta
,digamma
,plogis
(后勤函数:1 / [1 + exp(-a * x)])和/, *, +, -
在math library C source code for R
中,基本上没有#pragma omp
编译器指令可以利用共享内存多线程并行性。像R
这样的[Rfast][2]
中用于快速数学运算的专用程序包也没有用于多线程特殊功能的#pragma omp
指令。
类似地,据我了解,矩阵代数库(例如BLAS和LAPACK)用于矩阵运算(例如分解),而不用于元素运算。
我希望在AWS上运行R
脚本,以加快运行速度,例如使用72或96台核心服务器。
我是否真的必须自己制作R数学库C源代码的副本,只是添加一些#pragma omp
指令以利用R中的OpenMP并行性?
我不敢相信R
的{{1}}或简单的数学库软件包中都不存在像这样的简单并行机制。