《高效能科學與工程計算》 2 6 習題

2021-10-01 01:16:17 字數 266 閱讀 1885

2.1 分支的危險。考慮下面的基準**:

如果a是乙個單精度浮點數陣列,當offset取何值時,該迴圈可被simd向量化(如圖1-8所示)。

2.3 棧上的延遲構造。在2.5.2節的延遲構造例子中,如果我們使用標準c的double陣列,而不是使用std::vector。陣列被宣告時的區別在**?

2.4 快速賦值。在2.5.2節靜態構造例子中,我們指出靜態物件std::vector<>只有在長度為常量時才具有優勢。如果長度可變,賦值操作會導致記憶體的重新分配,真的是這樣嗎?

《高效能科學與工程計算》 3 7 習題

3.1 非連續訪存。如果乙個或者多個陣列以不定間隔方式讀寫,3.1節中介紹的 平衡值和lightspeed應如何修改?對於乙個間隔為s的向量操作,可以期望什麼樣的效能特徵?能否用展開並合併技術作用於外層迴圈 參見3.5.2節 來減少 平衡值?嘗試編寫上面 的四路展開版本。n沒有特定的假設 除了n取值...

《高效能科學與工程計算》 1 5 多執行緒處理器

所有現代的處理器都以高度流水線化來提高效能 如果可以使用流水線 前面提到,一些因素會影響流水線的高效利用 相關性 儲存延遲 不確定的迴圈長度 指令混合以及分支判斷錯誤等 參考2.32節 將導致流水線頻繁等待,很大一部分執行資源處於空閒狀態 見圖1 19 不幸的是,這種情況是規則而不是意外。為了提高時...

金融與高效能計算的華麗碰撞

當金融遇到計算,我們賦予它乙個新名詞 金融計算。早在 20世紀90年代末,紐約 倫敦 日本的諸多金融機構就已經開始了金融計算相關應用,始於1993年全球超級計算機500強排行榜 top500 中,約450台為國際一流金融機構所用,中國先後已有70多台超級計算機躋身top 500,但至今仍無一台用於金...