R語言
blas.thread.test
位於 mgcv
包(package)。 說明
大多數 BLAS 實現都是線程安全的,但某些版本的 OpenBLAS 則不是。該例程是一個診斷輔助函數,如果您不設置 nthreads>1
,您將永遠不需要它,即使這樣也不太可能需要。
用法
blas.thread.test(n=1000,nt=4)
參數
n |
並行 BLAS 調用代碼運行的迭代次數。 |
nt |
要使用的並行線程數 |
細節
雖然單線程 OpenBLAS 0.2.20 是線程安全的,但版本 0.3.0-0.3.6 不是線程安全的,並且從版本 0.3.7 開始,單線程 OpenBLAS 的線程安全需要使用選項 USE_LOCKING=1
來實現。參考 BLAS 是線程安全的,MKL 和 ATLAS 也是如此。此例程從多線程代碼中重複調用 BLAS,足以檢測單線程 OpenBLAS 0.3.x 中的問題。
多線程 BLAS 通常並不比單線程 BLAS 快,但在調用 BLAS 的代碼中明智地使用線程仍然可以提供適度的速度改進。因此,通常最好使用單線程 BLAS 和 bam
或 gam
的 codenthreads 選項。對於bam(...,discrete=TRUE)
,使用多個線程可以帶來很大的好處,特別是對於參考 BLAS。
MKL BLAS 默認是多線程的。在Linux下,在啟動R之前設置環境變量MKL_NUM_THREADS=1
給出單線程操作。
作者
Simon N. Wood simon.wood@r-project.org
相關用法
- R bandchol 帶對角矩陣的 Choleski 分解
- R bam.update 為新數據更新嚴格附加的 bam 模型。
- R bam 適用於非常大數據集的廣義加性模型
- R betar GAM beta 回歸家族
- R vcov.gam 從 GAM 擬合中提取參數(估計器)協方差矩陣
- R gam.check 擬合 gam 模型的一些診斷
- R null.space.dimension TPRS 未懲罰函數空間的基礎
- R gam.reparam 尋找平方根懲罰的穩定正交重新參數化。
- R extract.lme.cov 從 lme 對象中提取數據協方差矩陣
- R scat 用於重尾數據的 GAM 縮放 t 係列
- R choldrop 刪除並排名第一 Cholesky 因子更新
- R smooth.construct.cr.smooth.spec GAM 中的懲罰三次回歸樣條
- R gam.side GAM 的可識別性邊條件
- R cox.ph 附加 Cox 比例風險模型
- R mgcv.parallel mgcv 中的並行計算。
- R gamm 廣義加性混合模型
- R pdTens 實現張量積平滑的 pdMat 類的函數
- R Predict.matrix GAM 中平滑項的預測方法
- R Predict.matrix.soap.film 皂膜光滑度預測矩陣
- R smooth.construct.bs.smooth.spec GAM 中的懲罰 B 樣條
- R gamlss.gH 計算回歸係數的對數似然導數
- R plot.gam 默認 GAM 繪圖
- R mvn 多元正態加性模型
- R gfam 分組家庭
- R smooth.construct GAM 中平滑項的構造函數
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 BLAS thread safety。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。