2012-03-21 51 views
0

假設我編寫了一個程序,需要30秒才能在雙核處理器上執行。什麼時候需要一個16核心處理器?相同或不同核心數是否影響執行時間

兩種情況: 一個程序是用多個核心編寫的。 不管核心數量如何,都會編寫兩個程序。

+3

這個問題太模糊,無法回答。這有點像「我有一些東西可以移動,它能在跑車或卡車上更快到達嗎?」這取決於多少東西,你要走多遠,最大的東西多大,等等。 – 2012-03-21 09:16:37

+0

嗨大衛,模糊?我真的很費解它。 (我的問題是在執行相同代碼的雙核和兩個以上內核和執行時間差異之間進行比較,謝謝。) – 2012-03-30 11:09:42

+1

您不會告訴我們任何關於代碼的作用或它是如何做的。對於一個程序寫入「無論核心是否存在」意味着什麼?這是否意味着它是單線程?我們是否假設所做的工作純粹是CPU綁定的?等等。 – 2012-03-30 17:48:00

回答

0

單獨查看,除非您明確編寫了多線程代碼,否則運行時應該是相同的。 當然,如果其他應用程序同時運行,它可能會更快,因爲它們現在可以在其他核心上運行。

如果您編寫了多線程代碼,那麼您看到的加速將基於各種因素(內存帶寬,IO帶寬,內存訪問模式,緩存一致性,同步等)以及Amdahl's law。它總是會少於N(其中N是核心數)。


1.假設我們正在談論傳統平臺。

+0

非常感謝Oli Charlesworth。:) – 2012-03-30 11:05:45

相關問題