圖靈獎得主Jack Dongarra:超級計算頂部還有很大空間
超級電腦可以說是科學計算界的奧運冠軍。透過數值模擬,超級電腦豐富了我們對世界的理解:無論是宇宙中數光年以外的恆星、地球的天氣和氣候,或是人體的運作機制。
四十多年來,Jack Dongarra 一直是高效能運算領域的推動者。今年早些時候,2021 年ACM A.M. 圖靈獎授予Dongarra,以表彰"他對數值演算法和工具庫的開創性貢獻,讓高效能運算軟體在四十多年裡能夠跟上硬體的指數式發展" 。
本文作者 Bennie Mols 於 9 月在德國舉行的第九屆海德堡桂冠論壇期間見到了 Dongarra,並探討了高效能運算的當下和未來。現年 72 歲的 Dongarra 是田納西大學的特聘教授,自 1989 年以來一直是美國能源部橡樹嶺國家實驗室的特聘研究人員。 Bennie Mols 是駐荷蘭阿姆斯特丹的科學與技術作家。
以下是訪談內容
Q1:幾十年來,您進行科學研究的動力是什麼?
A:我主攻的是數學方面的研究,尤其是數值線性代數方面,我所有的工作都源自於此。對於物理和化學這類需要計算——尤其是解線性方程組——的學科來說,一款能計算答案的軟體無疑是非常重要的。同時,你也必須確保軟體的運作與機器的架構一致,這樣才能真正獲得機器所能達到的高效能。
Q2:對於在超級電腦上運行的軟體來說,最重要的要求是什麼?
A:我們希望該軟體的計算結果是準確的。我們希望科學界能夠使用和理解這個軟體,甚至可以對其改進做出貢獻。我們希望軟體效能良好,可以在不同的機器上移植。我們希望程式碼是可讀的、可靠的。最後,我們希望軟體能夠提高使用它的人的生產力。
開發滿足所有這些要求的軟體是一個非同小可的過程。這種等級的工程往往有數百萬行的程式碼,而且大約每隔 10 年,我們就會看到機器架構發生一些重大變化。這將導致我們需要對演算法和體現這些演算法的軟體進行重構。軟體跟著硬體走,在超級運算的頂層仍有很大的空間,來達到更好的機器性能。
Q3:目前在高效能運算方面有什麼令你興奮的發展?
A:我們的高效能超級電腦是建立在第三方元件上的,比方說你和我也能買到高階晶片,只是高效能電腦上需要很多。通常我們在高效能電腦上面以 GPU 的形式使用一些加速器。我們將多個晶片開發板放在一個機架上,許多這樣的機架一起組成一台超級電腦。我們使用第三方元件的原因在於它更便宜,但如果你專門設計晶片來做科學計算,你會得到性能更好的超級計算機,這是一個令人興奮的想法。
事實上,這正是亞馬遜、Facebook、Google、微軟、騰訊、百度和阿里巴巴等公司正在做的事情;他們正在製造自己的晶片。他們可以這樣做,因為他們有龐大的資金,而大學的資金是有限的,因此不幸地不得不使用第三方的產品。這與我的另一個擔憂有關:我們如何將人才留在科學領域,而不是看到他們去為報酬更高的大公司工作?
Q4:對於高效能運算的未來,還有哪些重要的發展?
A:確實有一些重要的事情。很明顯,機器學習已經對科學計算產生了重要影響,而且這種影響只會越來越大。我認為機器學習是一種工具,有助於解決計算科學家想要解決的問題。
這與另一個重要的發展相輔相成。傳統上,我們的硬體使用 64 位元浮點運算,所以數字也用 64 位元表示。但是,如果你使用更少的比特,例如 32、16、甚至 8 比特,你可以加快計算速度。但是加快計算速度,就會失去精度。然而,人工智慧的計算看起來往往可以用更少的比特,16 甚至 8 比特來完成。這是一個需要探究的領域,我們需要找出在什麼情況下縮減位數效果好,什麼情況下效果不好。
另一個研究領域是關於如何從低精度的計算開始,得到一個近似值,然後再使用更高精度的計算來細化結果。
Q5:超級電腦的功耗如何?
A:現在效能最好的超級電腦消耗 20 或 30 兆瓦,以達到每秒百億億次浮點運算的速度。如果地球上的每個人每秒鐘做一次計算,那麼需要四年多的時間才能完成超大規模電腦在一秒鐘內完成的工作。或許在 20 年內,我們要達到 zettaflop 的規模,也就是 10 的 21 次方次浮點數運算。然而,功耗可能會成為限制性因素。你將需要一台 100 或 200 兆瓦的機器,目前來看這太耗能了。
Q6:您如何看待量子運算在未來高效能運算中的作用?
A:我認為量子計算能解決的問題是有限的,它不會解決像三維偏微分方程這樣的問題,我們在這方面經常使用超級計算機,如氣候建模。
在未來,我們將建立一個包含不同類型運算工具的整合工具。我們將有處理器和加速器,我們將有幫助機器學習的工具,我們很可能有以大腦的方式進行神經形態計算的設備,我們將有光學計算機,此外,我們將有量子計算機來解決特定的問題。
以上是圖靈獎得主Jack Dongarra:超級計算頂部還有很大空間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應用程式和演算法中至關重要的一部分,也是評估電腦硬體效能的重要指標之一。透過深入研究和優化GEMM的實現,可以幫助我們更好地理解高效能運算以及軟硬體系統之間的關係。在電腦科學中,對GEMM進行有效的最佳化可以提高運算速度並節省資源,這對於提高電腦系統的整體效能至關重要。深入了解GEMM的工作原理和最佳化方法,有助於我們更好地利用現代計算硬體的潛力,並為各種複雜計算任務提供更有效率的解決方案。透過對GEMM性能的優

WORD是一個強大的文字處理器,我們可以利用word進行各種文字的編輯,在Excel表格當中,我們已經熟練了加減乘數的運算方法,那麼如果需要在Word表格裡,計算數值的加減乘數,該如何操作呢,難道只能用計算機計算嗎?答案當然是否定的,WORD也同樣可以完成。今天小編就來教大家如何在Word文件的表格當中,運用公式計算加減乘除等基本運算,一起來學習一下吧。那麼,今天就讓小編具體示範一下,WORD文件怎麼計算加減乘除?第一步:開啟一個WORD,點選工具列【插入】下的【表格】,在下拉式選單當中插入一

如何使用Python的count()函數計算清單中某個元素的數量,需要具體程式碼範例Python作為一種強大且易學的程式語言,提供了許多內建函數來處理不同的資料結構。其中之一就是count()函數,它可以用來計算清單中某個元素的數量。在本文中,我們將詳細介紹如何使用count()函數,並提供具體的程式碼範例。 count()函數是Python的內建函數,用來計算某

簡介使用行列式計算三角形面積的Java程序是一個簡潔且有效率的程序,可以根據給定三個頂點的座標來計算三角形的面積。該程式對於學習或使用幾何的任何人都非常有用,因為它演示瞭如何在Java中使用基本算術和代數計算,以及如何使用Scanner類讀取使用者輸入。程式提示使用者輸入三角形三個點的座標,然後將其讀入並用於計算座標矩陣的行列式。使用行列式的絕對值來確保面積始終為正,然後使用公式計算三角形的面積並顯示給使用者。該程式可以輕鬆修改以接受不同格式的輸入或執行附加計算,使其成為幾何計算的多功能工具。決定因素行列

給定兩個字串str_1和str_2。目標是使用遞歸過程計算字串str1中子字串str2的出現次數。遞歸函數是在其定義中呼叫自身的函數。如果str1是"Iknowthatyouknowthatiknow",str2是"know"出現次數為-3讓我們透過範例來理解。例如輸入str1="TPisTPareTPamTP",str2="TP";輸出Countofoccurrencesofasubstringrecursi

在C#中,有一個Math類別庫,其中包含許多數學函數。其中包括計算冪次方的函數Math.Pow,它可以幫助我們計算指定數的冪。 Math.Pow函數的用法非常簡單,只需要指定底數和指數就可以了。其語法如下:Math.Pow(base,exponent);其中base表示底數,exponent表示指數。此函數傳回double類型的結果,即冪次方的計算結果。下面讓

一種受歡迎的通用程式語言是Python。它被應用於各種行業,包括桌面應用程式、網頁開發和機器學習。幸運的是,Python具有簡單易懂的文法,適合初學者使用。在本文中,我們將使用Python來計算矩陣的右對角線總和。什麼是矩陣?在數學中,我們使用一個矩形排列或矩陣,用於描述一個數學物件或其屬性,它是一個包含數字、符號或表達式的矩形數組或表格,這些數字、符號或表達式按行和列排列。例如−234512367574因此,這是一個有3行4列的矩陣,表示為3*4矩陣。現在,矩陣中有兩條對角線,即主對角線和次對

我們將示範如何使用Java程式計算總分和百分比。總分是指所有可用分數的總和,而術語百分比是指計算分數除以總分並乘以所得的數字100。 percentage_of_marks=(obtained_marks/total_marks)×100範例1這是一個Java程序,用來示範如何計算總分和百分比。 //JavaProgramtodemonstratehowisTotalmarksandPercentagescalculatedimportjava.io.*;publicclassTotalMarks_
