2012-06-03 65 views
0

將PI計算爲數百萬位可以檢查CPU的穩定性和性能,尤其是在超頻後。 我正在嘗試自己編寫這段代碼,基本上它只是將計算機的PI值設置爲百萬位數,並返回所需的時間。 我已經研究了很多,發現了不同的方程,但不知道哪個是最有效的用於計算。你能否給我提供最好的想法,如果可能的話,還有如何做的代碼或步驟。 謝謝。將pi計算爲第一百萬位。

回答

2

如果你只是在測試你的CPU,那麼你不需要一個有效的方法。只需實現一個算法並完成它。

0

在MACSYMA:

py(x) := if equal(6, 6+x^2) then 2*x else (py(x:x/3), 3*%%-4*(%%-x)^3); py(3.);py(dfloat(%)); block([bfprecision:35], py(bfloat(%))) 

其中x是數字的指數。 (這是來自OEIS http://oeis.org/A000796

1

請注意,任何CPU包含不同的子單元只能或多或少地失去互連。

您將需要儘可能多的子單元進行老化測試。

具體來說,您的代碼可能需要包括:

  • 適當的字的大小(32位/ 64位)
  • 浮點計算
  • SIMD操作
  • 重高速緩存使用的整數計算
  • 沉重的內存總線使用率

Plus:當前的CPU有多個核心,因此您需要保持所有這些核心繁忙。需要多線程或多個進程。

只有在對CPU的所有單元施加負載(「最壞情況」)時,才能獲得穩定可靠的結果。