: 想請教大家的是
: 如果資工碩士專攻compiler編譯器
: 在台灣有公司有這樣的工作嗎?
: 好像沒有台灣公司的產品是編譯器
: 那有公司是內部需要編譯器的嗎?
你應該是想問 compiler 這條路出路如何嘛?
限定台灣的話,努力找,應該還是找得到 (104 搜一下嘛)
底下容小弟依經驗幫忙分析幾個你可能也會想知道的面向:
1. 做 compiler 門檻高不高?
想像一下高階的語法到低階的指令,例如:
python -> C++ /C -> 組語
同樣用途的一支程式,用 python 寫,轉換成用 C 怎麼寫、甚至熟悉某個 ISA 的話,多花
些精力,轉換到組語也多少寫的出來。一般來說 "人" 來做應該不算難做到。
Compiler 的角色就是替換這個 "人",變成一隻程式,要把 "人" 怎麼分析語法、語法檢查
?怎麼轉換出組語?一步步拆解,寫演算法來完成。
而且最好要有條理、高效的來做這件事,順便做些優化,那自然是有不低的門檻的。
2. 做 compiler 是不是要很強?
能夠達到前面說的門檻,從高階語言可能各種亂七八糟的寫法都要能編譯,error msg
能清楚,到編譯出來的程式有優化、效能好,那自然是要很強的!
但也不是說一定要強者才能做,舉個例子:有個 ISA 可以做加減乘除,已經有強者做好
加減怎麼生指令了,那...照著把乘除做出來...稍微不那麼強的人也做的到,而且,也總是
有這些事可以做的。
所以,前面說的門檻高,不至於不到門檻就洗洗睡,只收菁英的程度啦XD
達到門檻的自然強,不到的也能生存。
3. 做 compiler 爽不爽?
爽啊!當然爽!
假設你改善了某個演算法的複雜度,讓編譯速度快 10 倍好了,像我一天多的時候可能
compile 個 100 次,原本等 10 分鐘變成等 1 分鐘就好,那代表我今天可以更早下班耶!
那如果是做個優化,編譯出來程式快 10%、提前一分鍾能出結果,這隻程式將來可能要
跑一萬次,你幫大家省了 7 天耶!!這都還只是單純就省的時間來說。
這麼有成就感的事情,要是做得到,能不爽嗎?
(不過如果說是看錢的話...在台灣可能還是 HW design 才是王道!)
---
所以,我們總結一下:做 compiler 呢,門檻高,不過只要夠強,就會爽!
...恩?到哪不是都是這樣嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.3.135 (臺灣)※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1713919482.A.A9E.htmlpponywong1樓現在都用llvm 比以前簡單很多 以前是front-end還要 04/24 09:19
→ pponywong2樓自己硬刻 04/24 09:20
→ wcre3樓行業的趨勢是愈接近基層架構,收入愈低 04/24 09:34
→ wcre4樓程式快10%,老闆會多給10%年薪? 04/24 09:35
pponywong5樓沒有吧 基層還是比較多 ML的職位也不多 04/24 09:47
→ pponywong6樓那種調整pytorch參數的就不要說自己是做ML的了 04/24 09:47
mmonkeyboyy7樓....有llvm還可以 但....低層老板不加薪啊XD 04/24 10:28
CoNsTaR8樓這篇怎麼有種小學生在教博士生怎麼寫論文的感覺 04/24 10:32
舉例嘛...不然我要講些晦澀難懂的東西直接勸退嗎?
→ CoNsTaR9樓編譯器重點最好是你講的這些啦 04/24 10:32
→ labbat10樓聽君一席話,如聽一席話 04/24 11:03
pponywong11樓看哪種編譯器吧 如果是高階語言就很多最佳化問題 04/24 11:12
→ pponywong12樓也有ASIC專用的script compiler 04/24 11:13
mikasamikoto13樓現在優化的論文已經很難生了,大部分都是加個小功能 04/24 11:48
確實,如果是 target-independent 或是成熟的 backend 裡再做什麼優化,那都是撿到寶
Brioni14樓以台灣就業市場來說類似EDA領域,穩定但不會有爆發 04/24 12:30
→ Brioni15樓期 04/24 12:30
→ a2741733216樓現在AI當頭,去做ML Compiler啊 04/24 14:38
→ a2741733217樓這部分的職缺應該主力還是晶片商 04/24 14:43
AI compiler 紅歸紅,但...還是 SW 職缺...
要是他 ASIC 正在開發中,要幫他 codegen,生些奇妙的用法,還要優化,隨便一個異想
天開的特殊作法,可能整個 pipeline 都要調整過,有時間限制的欸...操死
→ a2741733218樓沒辦法,有時間壓力哪裡都操,無關領域了 04/24 15:01
→ 本人19樓是沒錯啦,但是從客戶過來、designer 的需求過來、 04/24 15:07
→ 本人20樓高層看 benchmark 跑輸燒過來會一起發生... 04/24 15:07
→ 本人21樓同個人做同個優化,能做一個禮拜還是一個月,做起 04/24 15:11
→ 本人22樓來品質有差耶,偏偏 compiler 很要求 code quality 04/24 15:11
→ 本人23樓的... 04/24 15:11
eopXD24樓The golden age for compilers <3 04/24 15:12
→ profiles25樓古早時代,修編譯器課,要交的作業,需用到lex/yac 04/24 16:38
→ profiles26樓c,現在是不是有新的tool,就不知道,修完確定我對 04/24 16:38
→ profiles27樓這沒有興趣 04/24 16:38
→ labbat28樓其實編譯器需要不少程式碼文本外的資訊才適合優化 04/24 21:22
→ labbat29樓不然單單要序列化或者要清空流水線或者不做事,關係 04/24 21:23
→ labbat30樓到程式碼下特定位址的特定讀寫,可是跨指令集沒有那 04/24 21:24