Re: [請益] 資工碩士專攻編譯器台灣找得到工作嗎?

看板Tech_Job作者 (靜夜)時間1周前 (2024/04/24 08:44), 1周前編輯推噓9(10128)
留言39則, 14人參與, 1周前最新討論串3/3 (看更多)
※ 引述 《ttucse》 之銘言: : 想請教大家的是 : 如果資工碩士專攻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.html

04/24 09:19, 1周前 , 1F
現在都用llvm 比以前簡單很多 以前是front-end還要
04/24 09:19, 1F

04/24 09:20, 1周前 , 2F
自己硬刻
04/24 09:20, 2F

04/24 09:34, 1周前 , 3F
行業的趨勢是愈接近基層架構,收入愈低
04/24 09:34, 3F

04/24 09:35, 1周前 , 4F
程式快10%,老闆會多給10%年薪?
04/24 09:35, 4F
不會...所以我其實...有點難過

04/24 09:47, 1周前 , 5F
沒有吧 基層還是比較多 ML的職位也不多
04/24 09:47, 5F

04/24 09:47, 1周前 , 6F
那種調整pytorch參數的就不要說自己是做ML的了
04/24 09:47, 6F

04/24 10:28, 1周前 , 7F
....有llvm還可以 但....低層老板不加薪啊XD
04/24 10:28, 7F

04/24 10:32, 1周前 , 8F
這篇怎麼有種小學生在教博士生怎麼寫論文的感覺
04/24 10:32, 8F
舉例嘛...不然我要講些晦澀難懂的東西直接勸退嗎?

04/24 10:32, 1周前 , 9F
編譯器重點最好是你講的這些啦
04/24 10:32, 9F

04/24 11:03, 1周前 , 10F
聽君一席話,如聽一席話
04/24 11:03, 10F
※ 編輯: Lipraxde (114.137.175.102 臺灣), 04/24/2024 11:09:13

04/24 11:12, 1周前 , 11F
看哪種編譯器吧 如果是高階語言就很多最佳化問題
04/24 11:12, 11F

04/24 11:13, 1周前 , 12F
也有ASIC專用的script compiler
04/24 11:13, 12F

04/24 11:48, 1周前 , 13F
現在優化的論文已經很難生了,大部分都是加個小功能
04/24 11:48, 13F
確實,如果是 target-independent 或是成熟的 backend 裡再做什麼優化,那都是撿到寶

04/24 12:30, 1周前 , 14F
以台灣就業市場來說類似EDA領域,穩定但不會有爆發
04/24 12:30, 14F

04/24 12:30, 1周前 , 15F
04/24 12:30, 15F

04/24 14:38, 1周前 , 16F
現在AI當頭,去做ML Compiler啊
04/24 14:38, 16F

04/24 14:43, 1周前 , 17F
這部分的職缺應該主力還是晶片商
04/24 14:43, 17F
AI compiler 紅歸紅,但...還是 SW 職缺... 要是他 ASIC 正在開發中,要幫他 codegen,生些奇妙的用法,還要優化,隨便一個異想 天開的特殊作法,可能整個 pipeline 都要調整過,有時間限制的欸...操死 ※ 編輯: Lipraxde (114.137.175.102 臺灣), 04/24/2024 14:54:20

04/24 15:01, 1周前 , 18F
沒辦法,有時間壓力哪裡都操,無關領域了
04/24 15:01, 18F

04/24 15:07, 1周前 , 19F
是沒錯啦,但是從客戶過來、designer 的需求過來、
04/24 15:07, 19F

04/24 15:07, 1周前 , 20F
高層看 benchmark 跑輸燒過來會一起發生...
04/24 15:07, 20F

04/24 15:11, 1周前 , 21F
同個人做同個優化,能做一個禮拜還是一個月,做起
04/24 15:11, 21F

04/24 15:11, 1周前 , 22F
來品質有差耶,偏偏 compiler 很要求 code quality
04/24 15:11, 22F

04/24 15:11, 1周前 , 23F
的...
04/24 15:11, 23F

04/24 15:12, 1周前 , 24F
The golden age for compilers <3
04/24 15:12, 24F

04/24 16:38, 1周前 , 25F
古早時代,修編譯器課,要交的作業,需用到lex/yac
04/24 16:38, 25F

04/24 16:38, 1周前 , 26F
c,現在是不是有新的tool,就不知道,修完確定我對
04/24 16:38, 26F

04/24 16:38, 1周前 , 27F
這沒有興趣
04/24 16:38, 27F

04/24 21:22, 1周前 , 28F
其實編譯器需要不少程式碼文本外的資訊才適合優化
04/24 21:22, 28F

04/24 21:23, 1周前 , 29F
不然單單要序列化或者要清空流水線或者不做事,關係
04/24 21:23, 29F

04/24 21:24, 1周前 , 30F
到程式碼下特定位址的特定讀寫,可是跨指令集沒有那
04/24 21:24, 30F

04/24 21:25, 1周前 , 31F
麼單純一對一的關係,變成太保守或太激進的驅動程式
04/24 21:25, 31F

04/24 21:27, 1周前 , 32F
都可以讓除錯工程增加個一個禮拜到半月不等
04/24 21:27, 32F
驅動程式說的比較是偏 runtime 嗎?也算是 compiler 的範圍,通常立即能發現的都還 好修,怕的是 user 拿到才發現某版 release 壞了,找到問題看一看才發現原來不能這 樣用...半個月能解決都要謝天謝地了

04/24 22:43, 1周前 , 33F
要做parser/CFG 還是用lex/yacc (flex/bison)
04/24 22:43, 33F

04/24 22:44, 1周前 , 34F
compiler從頭做到尾太花時間了 尤其是codegen
04/24 22:44, 34F
我反而覺得 codegen 那是最有趣的地方,了解硬體才能做的好,這地方就可以看到誰願 意實打實的把硬體的特殊能力相關的優化用 low-level IR 做出來,反應在演算法裡,把 硬體能力榨乾。 不過有些人可能會更想抽象化到更 high-level,乾乾凈凈漂漂亮亮的做...只是刻個殼 子叫別人處理底層細節的那種...我常常覺得這樣有點不夠水準,阿不,是不夠有趣!

04/25 00:06, 1周前 , 35F
現在還有學生在刻 lex/yacc/flex/bison嗎?我們以前
04/25 00:06, 35F

04/25 00:06, 1周前 , 36F
都是自學的
04/25 00:06, 36F

04/25 01:59, 1周前 , 37F
有喔 現在還是會出lex/yacc的作業要你寫 話說有老
04/25 01:59, 37F

04/25 01:59, 1周前 , 38F
教授嫌那個超水 應該要用C全部硬刻
04/25 01:59, 38F
用 C 硬刻...太硬了啦,不過印象中有些語法 lex & yacc 不太好刻,直接硬刻可以不受 限 LALR 這種難懂的東西,也不是說沒有好處 ※ 編輯: Lipraxde (180.177.3.135 臺灣), 04/25/2024 05:58:44

04/25 09:52, 1周前 , 39F
之前有在有做編譯器的公司待過,裡面有用那些工具
04/25 09:52, 39F
文章代碼(AID): #1cA5NwgU (Tech_Job)
討論串 (同標題文章)
文章代碼(AID): #1cA5NwgU (Tech_Job)