2017q3 Homework2 (software-pipelining) === contributed by <`river85511`> --- ## 開發環境 ``` Lubuntu 16.04 4.10.0-37-generic Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K ``` ## 論文閱讀 ### 1. Introduction * 目前的情況: * 即使有許多用來容忍 cache miss 的延遲時間的 軟、硬體之 prefetching 機制,但目前只有相對簡單的 軟體 prefecting 演算法 出現在如 icc 和 gcc 的編譯器中,因此 performance-aware programmers 通常需要手動插入 prefetching intrinsic 來提高效能。 * 會有的問題: 1. 在如何插入 prefetching intrinsic 的問題上沒有嚴格的標準。 2. 軟、硬體間 prefetching 的交互影響的複雜度不易理解。 * 因此本篇的目標為: 1. 在有 HW prefetcher 的情況下,為 插入 prefetching intrinsics 提供一個標準 2. 提供一個更好的方向來提昇 SW 跟 HW prefetching 合作時的效率。 > 出現了各式各樣看不懂的名詞阿.... XD ### 2. Background on software and hardware prefetching ### 3. Positive and negative impacts of software prefetching ### 4. Experimental methodology ### 5. Evalutions: basic observations about prefetching ### 6. Case studies: source code analysis of individual benchmarks ### 7. Related work ### 8. Conclusion and future work