版本 0d838d5542f13f2b8d350e987934aee70c6690d4
User/chenishi
陳奕熹 (Chen, Yi-Xi)
聯絡資訊
Email: chen.ishi@gmail.com
Phone: 0910635509
2018秋季班 個人評量
(秋季班)作業及筆記
-
關於 Skia 的研究最後上半途而廢,我們從一開始從 github commit log 發現到他們沒有用到 SIMD 的 SkNf 架構,到後來發現事實上該專案已經有相關的完整實做
但是雖然結構有實做出來,但是相關的函式庫完全沒有被應用層使用到;「把該架構應用到實務上」應該是工作量相對小的,同時具有重大意義的開源貢獻;但是可能因為鄰近學期末大家有自己的規劃(我需要規劃寒假的畢業旅行,另一名組員則是要忙實習的工作),而且大家對之前一直弄浮點數沒有具體弄專案出來有點煩躁,也有一部份是我們之前開的 FPNN (用定點數實做機器學習模型)進度停滯了一段時間,導致這個專案有點不了了之
我打算萬一今年過年還是沒有特別計畫的話,再把這個坑研究一下 -
事實上這個專案還是有很多東西沒有被完成(雖然不知道為什麼在學期中被歸類為「已完成」,雖然某種程度上代表可以逃離這個專案也是一件好事=) ),像是我們並沒有找到為什麼不同的 ieee 754 浮點數模式下數值的運算花費時間的差異原因。儘管在全部的測試場景中,定點數運算都可以拿到比浮點數運算更快的運算時間,但是在不同場景下浮點數花費時間起伏蠻大的,並且用來計算花費時間的函式、編譯器的最佳化等等都也可能影響到運算時間 也是因為之後要做 Skia,我們先測量 SIMD 有無下浮點數的運算時間,發現到 128 byte SIMD 後需要花費的時間大約只剩原有的四分之一,如果能利用到這樣的指令集等級平行化,那麼說不定可以試試看與 GPU 運算效能比看看
-
所見所聞心得
- 開了很多新的坑,想研究但是一直沒有補 無論是在上課時/聽講座時聽到一些感覺可以研究的議題,像是
- 之前在 Leetcode 上看到一題 “Add two number” 利用 tree 的資料結構以儲存變數,這樣就可以避免掉 int_max 這樣極值的問題,同時聽說 python 的變數實作也是根據這個概念,想說可以整理成一份共筆
- ISO C90 與 ISO C99 之間的差異在那? 事實上有很多種標準的 C 可以分析,包含 ANSI C, GNU C, C99, C11 等等可比較
- 使用傅立葉轉換計算多項式乘法 上課的時候聽到這個議題覺得很神奇(之前大二上工數的時候一直不知道學這個可以幹嘛,大三的電磁雖然說「會用到工數」,但是其實背結論也是可以,現在終於聽到一個合理且有趣的應用了),目前只有嘗試理解他的數學轉換,還缺程式碼效能分析
- 我應該怎麼快速掌握 C 語言專案架構 這個事實上是我在做畢業專題, trace QEMU 程式碼中間嘗試用過的幾種工具,這些工具在程式碼規模還小的時候,分析的脈落都還蠻清楚的;但是架構只要一旦變複雜變大,很多工具就會開始跳 error(不過其中大多數工具應該是我設定沒有弄好,但是 QEMU 的 Makefile 散落在各資料夾很難 debug),可以算是一個抱怨文
- 開了很多新的坑,想研究但是一直沒有補 無論是在上課時/聽講座時聽到一些感覺可以研究的議題,像是
自我評量分數(1 到 10 級分) 8分吧,其實我實際上覺得應該打五分(考慮到我實際有意義有效的付出實在不多,浮點數那個就只是研究而已並沒有改善什麼,Skia 那個雖然有稍微研究但是也沒有實做),但是考慮到這科這樣下來可能是我大學四年最高分的科目,同時以「過程中學到的東西」學到蠻多「思考問題面向的廣度」,像是「增進效能」這個議題在不同題目,不同環境等等都會影響最後效能表現,不能單純只用「運算複雜度」「平均的運算效能」等等去論斷,像是極值狀況或無分支實做避免 timing attack 都是很重要的議題;因此我最後的加到八分
針對期末自評內容要求的反思
像是自己後面專題負責的單元(第二章)就比較熟一點,像是減法做等號兩邊移動的最佳化是因為要考慮到「溢位」的發生;還有像是定點數與浮點數的比較這就是我們做的所以很清楚,但是其他人負責研究的部份像是 tail call optimization 這個沒有自己碰過印象就很淺,同時像是老師之前 Fizzbuzz 的程式碼也還沒看;可以感覺得到除了自己研究的小領域之外其他的都不能說是了解
2019 Linux 核心設計 個人評量
- (春季班)作業及筆記
- 形式化驗證投影片 https://hackmd.io/@chenishi/rJzvzC9TN#/
- 形式化驗證 demo https://youtu.be/hGt67LrdU0g
- 自我評量分數(1 到 10 級分)
- 5分,因為我功課都沒有寫,非常的混