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