2016・冬・始
想想論文
第一階段
在學長的催促下,一時興起想個論文題目,加上所學的一些技巧來實作資料結構,再搭配資料加速的方式,就能在某些約束大小下灑亂數,沒有平行的版本就能比序列化版本快上一點,但平行版本並沒有想像中成正比地加速,一不小心就被 data layout 打到殘廢,被 imbalance 的問題搞死,沒弄好 scheduling 根本玩不下去。
論文可比想像中的困難多了,大多有用的技巧沒有理論,實務上的技術卻不被看好,對這個世界感到失望啊!
找了一篇別人寫的論文拿來平行,接著在平行處理根據現在的計算機架構設計。若沒有設計好資料結構和算法,效能遲遲無法引出來,有時還牽涉到實作成面的技巧,各方面都要顧及。
然而,實作總是不被看好的那一塊,大部分的論文都沒有提及或提供代碼,其他的論文到底可不可信?這一點深感疑惑啊!說不定早就錯得離譜,還一直誤導未來的讀者,當然我自己也不例外。至於如何解決這些問題,也許從一開始就是無解的題目呢。
有一次大學長回實驗室,無聊問有沒有題目可以寫,於是拿了想要做的論文題目過去,三十分鐘就想到兩年前那篇論文怎麼做,再過三十分鐘的話我就不用做了,或許我們競賽時的題目,就是別人花費好幾個月所寫的論文結果。開始膽怯自己能力所寫的論文是多麼地無用。
儘管如此,著手實作論文再加上自己的算法設計,開始進行大量的優化探討,快還要再更快!如果寫不出教授滿意的論文,至少自己滿意就好。
第二階段
從沒想過會因為論文關連,再次翻起去年因可能沒畢業而著手的研究項目,降時間常數、降空間常數 … 等各種版本的實作。當初研究一點也不透徹,需求才是推動發展的主因!
研究中使用位元壓縮技術,將二元樹的記憶體配置弄得更好,又不能失去原本的操作性質,又要支持高效平行操作。折騰了好幾天,終於在常理測資範圍下,空間壓縮近 4 倍,平行加持下改善 25% 效能。回過頭來看看自己做了什麼,怎麼想都覺得很變態。
第三階段
因為需求一週就看了三四篇論文,連續過了好幾週,嘗試抽絲剝繭找到能用的工具,論文也許就是炒大鍋菜,但沒人告訴你加什麼料最好,更沒有人告訴你炒出來的那盤菜是否已經有人做過,做過就不能發論文了,一切只能靠自己,感覺起來就像在賭博,指導教授不見得有空理你呢。
實作技巧發揮到極致時,讓我們結合所有理論吧!一切皆為 $O(1)$ ,在平行上也 $O(1)$ 給你看。在十一月時,這一切發展得並不順利,根據理論推導的實作效能並不好,是不是有哪個傢伙的論文寫壞掉了?
實習工作
工作機會
實習工作在完全不懂的電路設計自動化 Cadence 公司,每一個名詞基本上只有電機系畢業的學生懂,而我卻要在設計工具上撰寫客製化的功能,聽起來是多麼不可思議。實習的日子裡,同時在思考自己適合哪一類型的工作環境,是否能在這種大公司工作,還是小公司下工作快樂些。
那些沒上研究所的小夥伴都跑去找工作,而我卻在論文迷惘下找了份實習,體驗一下未來的工作和生活型態是否為所需。聽者小夥伴如此地抱怨:
「快把我變成社畜!不,算我求你了」友人如此哀求道
「這種需求我從來沒見過!」
某天早上六點收到一封信,看著英文的信封標題,想說一定是沒有分類成功的廣告信,社畜就這麼一如往常地去上班!等待編譯如此地漫長,打混之際來看封信 … “Google 面試邀請,下周可談”,基於各種因素,最後還是辭退了這次邀請,畢竟沒學歷沒英文,實在無法讓自己滿意地去面試工作。
有些人覺得我浪費面試機會,但我足夠認識自己無法滿足他們的需求,現在還不是時候。你們才是更有機會的不是嗎?你們都擁有我想要的部分。
他們當時是藉由 Github 和 Blog 找到我的,努力經營自己的成果吧!總有一天,有人會因此欣賞你的。若沒有,就作為自己的最後一份驕傲吧!
工作環境
主管總是很有耐心跟我解釋顧客的需求和工具使用。身為一個工程師,對產品完全不熟悉怎麼跑測試,每一個元件之間的數學關係,多對一還是一對多,英文名詞聽得霧煞煞,有些還牽涉到多形和壓縮索引的格式。
相比從家教學生那兒聽來的,在一般公司就得自己摸,摸不好還要被主管嫌,而主管只會加油打氣,一點方向和意見都不給,甚至還導向錯誤的發展方向。仔細想想,這兒的工作環境挺不錯的。更沒想到公司在月底會替我們新進員工買生日蛋糕慶生,被排到十一月員工的慶生,心中很納悶明明過了快一個月,遲遲無法反應過來。
「生日禮物」遞上
「??」
「來一下,來吃生日蛋糕」
「???」
各個 Team 的成員和主管都有來,要求我們說些願望什麼的,對於咱這個肥宅而言,一夥人吃蛋糕的場景可說是零經驗,心中的小鹿都不知道消失到哪了。
2016・冬・上・結束