回覆列表
-
1 # 不過是個傭兵
-
2 # NewEnglandSnow
平行計算早已被證明是可行的計算架構,否則全球幾百臺超級計算機是拿來當玩具玩兒的嗎?
採用Hadoop/MapReduce計算架構的大型網際網路應用在全球都得到了廣泛應用。沒有平行計算,淘寶在雙十一能處理那麼多的併發訂單嗎?
不理解Linus這句話的意思。
-
3 # 因特理臻
這就是LINUS不懂了,不懂平行計算的威力,那是因為他沒有做深度學習。深度學習訓練計算量很大,就是人們說的算力,需要大量計算,比如做imagenet競賽,百萬級圖片,一旦訓練起來就沒完沒了,用cpu訓練估計要幾個月,如果用gpu平行計算,用幾天就好了。gpu做深度學習訓練速度是cpu的十倍以上,平時要半天訓練現在一個小時就好了。而目前最大的bert模型,沒有大量gpu還訓練不了。所以linus說的浪費時間可能是在作業系統執行上肯定最快的cpu就夠了,但是深度學習是不行的。
原文:
平行計算有什麼好的?
硬體的效能無法永遠提升,當前的趨勢實際上趨於降低功耗。那麼推廣並行技術這個靈丹妙藥又有什麼好處呢?我們已經知道適當的亂序CPU是必要的,因為人們需要合理的效能,並且亂序執行已被證明比順序執行效率更高。
推崇所謂的“並行”極大地浪費了大家的時間。“並行更高效”的高大上理念純粹是扯淡。大容量快取可以提高效率。在一些沒有附帶快取的微核心上搞並行毫無意義,除非是針對大量的規則運算(比如圖形處理)。
沒人會回到從前了。那些複雜的亂序執行核心不會消失。擴充套件不會一直進行下去,人們需要的是移動性,因此那些主張擴充套件至上百核心的都是瘋子,不要鳥他們。
他們究竟是如何幻想那些神奇的並行演算法會有用武之地的呢?
並行只有對圖形計算和伺服器有意義,而在這些領域我們已經大量應用並行了。把並行推廣到其他的領域沒有意義。
所以說忘記並行吧。它不會到來的。4個左右的核心對終端使用者來說沒有問題,在移動領域裡,不大幅增加能耗的情況下,你沒辦法再塞進更多的核。任何一個理智的人都不會為了要塞入更多的核心而閹割核心以降低其大小和效能,閹割核心的唯一理由是你想進一步降低功耗,因此你還是不會得到大量的核。
所以爭論是否要講究程式的並行性根本就是謬誤,其前提條件都是錯誤的。它只不過是一個早該過時的時髦術語罷了。
並行程式在上面提到的一些地方是有用的,並且已經大量地運用了,比如在伺服器領域,人們已經並行很多年了。
在其他的領域,並行不是一定必須的,即便是在將來的一些未知領域也是如此,因為你做不到。假如你要做低功耗通用計算機視覺,我基本可以保證你不會使用通用圖形處理器(GP CPU)。你甚至不會用圖形處理器,因為其功耗也太高了。你大概會用特殊的硬體,很可能是基於某些神經網路的硬體。
放棄吧。“並行就是未來”的說法就是一片浮雲。