3
我可以訪問安裝了R的兩個羣集。我一直在編寫和測試我的東西。當我將代碼移到新的羣集時,突然所有的矩陣乘法變得非常慢。這裏有一些數字:矩陣乘法在不同R安裝中的性能
Cluster-1:
> a <- matrix(0, nrow=2000, ncol=2000)
> b <- matrix(0, nrow=2000, ncol=2000)
> system.time(c <- a %*% b)
user system elapsed
0.07 0.03 0.10
Cluster-2:
> a <- matrix(0, nrow=2000, ncol=2000)
> b <- matrix(0, nrow=2000, ncol=2000)
> system.time(c <- a%*% b)
user system elapsed
13.682 0.014 13.695
請注意,我沒有使用任何稀疏矩陣。
羣集1使用R版本2.12.1,羣集2使用R版本2.15.0。是否有任何特殊的庫,第二個羣集丟失?我如何找到哪一個?謝謝。
編輯: 添加更多的細節有關集羣:
羣集-1:
> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=C LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
的Cluster-2:
> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.iso885915 LC_NUMERIC=C
[3] LC_TIME=en_US.iso885915 LC_COLLATE=en_US.iso885915
[5] LC_MONETARY=en_US.iso885915 LC_MESSAGES=en_US.iso885915
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.iso885915 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
我本來以爲有別的事情上,13sec對於操作是瘋狂緩慢甚至與正規RBLAS。其他的東西可以在集羣上運行嗎? – Hansi 2012-04-13 12:12:59
@Hansi,在我的機器上(幾歲),'c < - a%*%b'需要12秒。然而,@isEmpty,可能從兩個集羣發佈'sessionInfo()'的結果都會有所幫助。 – BenBarnes 2012-04-13 12:16:29
我沒有對羣集的根訪問權限。所以我不能從回購安裝任何東西。另外,我在論壇上看到編譯Atlas並不是一件簡單的工作。可能是我應該與系統管理員交談,看看可以做些什麼。 – isEmpty 2012-04-13 12:17:00