在高性能計算領(lǐng)域,圖形處理單元(GPU)是一個熱門話題。但是所有這些爭論使得他們的未來更加撲朔迷離。
我們盡可能地去了解高性能計算的未來,這樣就可以更好地為中期超級計算需求進行投資。我們回顧過去,從大量假設(shè)開始,假設(shè)我們?nèi)绾芜_到目的,如果進入下一個階段。我們假設(shè)產(chǎn)品X如何取得成功,為什么技術(shù)Y成為主導(dǎo)以及公司Z失敗背后的故事都對我們了解現(xiàn)有的哪個產(chǎn)品、技術(shù)或者廠商可能會失敗有著幫助作用,所有這些都將改變我們的行業(yè)。
圖片來自互聯(lián)網(wǎng)
現(xiàn)在在高性能計算領(lǐng)域一個很大的問題就是:“GPU怎么樣?”而當GPU越來越受關(guān)注的時候,另一個更大的問題是:“軟件怎么樣?”
多核設(shè)備
為了方便起見,本文我們將使用GPU這個術(shù)語來涵蓋所有多核計算設(shè)備——GPU或者加速圖形處理單元(APU)。GPU是否會保留下來,甚至成為占主導(dǎo)地位的高性能計算處理器?哪一種GPU或者加速器將脫穎而出成為市場的選擇?
目前高性能計算市場中占主導(dǎo)地位的處理器——我們拿TOP500來作為市場風(fēng)向標——當然是英特爾至強x86-64。當然,當AMD推出AMD64的時候x86才真正開始統(tǒng)治高性能計算領(lǐng)域。AMD在這種主導(dǎo)于高性能計算市場的處理器領(lǐng)域處理領(lǐng)導(dǎo)地位,但是英特爾開發(fā)的最豐富的至強產(chǎn)品系列現(xiàn)在卻統(tǒng)治著TOP500榜單。
盡管AMD憑借皓龍?zhí)幚砥髟谠缙陬I(lǐng)先了數(shù)年時間,但是英特爾卻取得了最終的勝利。通過歷史觀察我們發(fā)現(xiàn),那些最終統(tǒng)治市場的廠商并不一定是基礎(chǔ)技術(shù)領(lǐng)先的廠商。
因此,盡管我們可以有把握地說,NVIDIA的GPU技術(shù)在技術(shù)計算和高性能計算方面領(lǐng)先,但如果或者當GPU成為主導(dǎo)的高性能計算處理器時,我們并不能肯定地說NVIDIA就是份額最大的技術(shù)提供商。AMD、英特爾和NVIDIA都計劃交付能夠滿足超出現(xiàn)有CPU更多高性能計算需求的產(chǎn)品。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
成功的關(guān)鍵
第二個觀察結(jié)論就是,對于擁有x86-64的AMD和擁有GPGPU的NVIDIA來說,一個由編譯器、ACML、CUDA和社區(qū)網(wǎng)站所組成的一個軟件生態(tài)系統(tǒng)是技術(shù)成功的關(guān)鍵所在。有些人會說,成功的關(guān)鍵是軟件和社區(qū),而不是任何硬件方面的優(yōu)勢。
第三個發(fā)現(xiàn)就是,當早期采用者開始將x86/x86-64作為一項真正用于高性能計算的技術(shù)時——相比高端超級計算機提供了更高的性價比——很多高端計算的倡導(dǎo)者認為,價格表現(xiàn)并不代表一切,而真正的超級計算機將仍然是最佳解決方案,甚至暗示稱商用集群也將保留一席之地。
在我看來,到目前為止關(guān)于CPU與GPU的爭論都是從差不多的。在過去的爭論中,價格是贏得競爭的關(guān)鍵。例如,當時另一個試圖贏得RISC領(lǐng)域的處理器就是英特爾的IA64安騰。它提供了更好的技術(shù),但是價格也更高。x86-64提供了足夠好的特性,而且更便宜。
時代不同了
TOP500中x86-64的興起和關(guān)于CPU與GPU的爭論這兩者之間是否有什么關(guān)鍵區(qū)別?也許吧。新的x86-64處理器與主導(dǎo)的RISC處理器是不同的,但是在編程風(fēng)格上并非完全不同。
工具是現(xiàn)成的,由于現(xiàn)有對軟件開發(fā)的消費需求超出了x86高性能計算的范疇,因此,x86是一個不錯的演變。代碼必須從RISC移植到x86上,這一點我們做到了。然熱,GPU在編程方面與CPU是有很大不同的。GPU-HPC的生態(tài)系統(tǒng)尚不成熟,但是編譯器和社區(qū)方面已經(jīng)有了很大進步。
也許最關(guān)鍵的是,例如Fusion、Knights和Fermi等類似GPU的選擇多樣化使得我們在CPU和GPU之間很難輕易作出選擇。從過去我們得出一個教訓(xùn),那就是生命周期較長的好代碼在開發(fā)過程中是忽略前端的——不管是在皓龍上還是至強上。
投資工作
如果我們現(xiàn)在要開發(fā)一個長期使用的大型應(yīng)用程序,那么我們我們必須在OpenMP、Cuda、OpenCL或者填補空白的多種產(chǎn)品之間作出一個懸念則。GPU是通用的,這意味著在開發(fā)過程中運行的是誰家的產(chǎn)品并不重要,但是獲得性能和成本回報卻是一個硬要求。
根據(jù)歷史經(jīng)驗,一旦開始標準化,成本部署將勝過最佳選擇。從RISC到x86的過渡并沒有在編程方面的重大變革。從CPU到GPU的過渡可能會放緩獲得更高性價比的過程,但這并不會組織最終變更的完成。