Dir*_*tel 63
你很困惑.
R(以及它之前,S)内部是单线程的,几乎肯定会保持单线程.据我了解,Duncan Temple Lang的博士工作是为了克服这个问题,如果他做不到......
也就是说,有一些多线程:
首先,无论何时进行外部调用,并通过适当的锁定,您都可以进行多线程.这就是BLAS库MKL,Goto/Open BLAS,Atlas(如果构建多线程),......都提供的.Revo R"仅"与(英特尔)MKL一起发售,因为英特尔恰好是Revo的主要投资者
如果您对所做的事情非常小心,可以使用OpenMP(多线程的编译器扩展).这开始于Luke Tierney关于pnmath和pnmath0(曾经是实验性/外部包)的工作,并且从那时起缓慢但肯定地进入R本身.
接下来,在多核世界和正确的操作系统中,您可以随时使用fork()
.这就是多核开创的包,以及现在并行的包.
最后但并非最不重要的是,网络/ RPC路由使用了MPI,包括Rmpi,snow,parallel等......并且在HPC介绍中有所介绍.
归档时间: |
|
查看次数: |
56811 次 |
最近记录: |