分享到plurk 分享到twitter 分享到facebook

User/chenishi

陳奕熹 (Chen, Yi-Xi)

聯絡資訊

Email: chen.ishi@gmail.com
Phone: 0910635509

2018秋季班 個人評量

  • (秋季班)作業及筆記

    • Skia’s New Approach to SIMD

      關於 Skia 的研究最後上半途而廢,我們從一開始從 github commit log 發現到他們沒有用到 SIMD 的 SkNf 架構,到後來發現事實上該專案已經有相關的完整實做
      但是雖然結構有實做出來,但是相關的函式庫完全沒有被應用層使用到;「把該架構應用到實務上」應該是工作量相對小的,同時具有重大意義的開源貢獻;但是可能因為鄰近學期末大家有自己的規劃(我需要規劃寒假的畢業旅行,另一名組員則是要忙實習的工作),而且大家對之前一直弄浮點數沒有具體弄專案出來有點煩躁,也有一部份是我們之前開的 FPNN (用定點數實做機器學習模型)進度停滯了一段時間,導致這個專案有點不了了之
      我打算萬一今年過年還是沒有特別計畫的話,再把這個坑研究一下

    • 浮點數的運算

      事實上這個專案還是有很多東西沒有被完成(雖然不知道為什麼在學期中被歸類為「已完成」,雖然某種程度上代表可以逃離這個專案也是一件好事=) ),像是我們並沒有找到為什麼不同的 ieee 754 浮點數模式下數值的運算花費時間的差異原因。儘管在全部的測試場景中,定點數運算都可以拿到比浮點數運算更快的運算時間,但是在不同場景下浮點數花費時間起伏蠻大的,並且用來計算花費時間的函式、編譯器的最佳化等等都也可能影響到運算時間 也是因為之後要做 Skia,我們先測量 SIMD 有無下浮點數的運算時間,發現到 128 byte SIMD 後需要花費的時間大約只剩原有的四分之一,如果能利用到這樣的指令集等級平行化,那麼說不定可以試試看與 GPU 運算效能比看看

  • 所見所聞心得

    • 開了很多新的坑,想研究但是一直沒有補 無論是在上課時/聽講座時聽到一些感覺可以研究的議題,像是
      1. 之前在 Leetcode 上看到一題 “Add two number” 利用 tree 的資料結構以儲存變數,這樣就可以避免掉 int_max 這樣極值的問題,同時聽說 python 的變數實作也是根據這個概念,想說可以整理成一份共筆
      2. ISO C90 與 ISO C99 之間的差異在那? 事實上有很多種標準的 C 可以分析,包含 ANSI C, GNU C, C99, C11 等等可比較
      3. 使用傅立葉轉換計算多項式乘法 上課的時候聽到這個議題覺得很神奇(之前大二上工數的時候一直不知道學這個可以幹嘛,大三的電磁雖然說「會用到工數」,但是其實背結論也是可以,現在終於聽到一個合理且有趣的應用了),目前只有嘗試理解他的數學轉換,還缺程式碼效能分析
      4. 我應該怎麼快速掌握 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分,因為我功課都沒有寫,非常的混