PTT推薦

[請益] compiler engineer跟一般sw engineer差別

看板Soft_Job標題[請益] compiler engineer跟一般sw engineer差別作者
armorNoob
(pro臭酸肥宅)
時間推噓17 推:18 噓:1 →:66

各位大大好
小弟有幾個疑惑
1. 想請問下寫compiler的話,跟一般的sw會差很多嗎?
C++寫LLVM,擴充openCL語法,整個flow都會碰到
如果之後要轉純軟不曉得年資會不會重算

2. 大部分時間focus的點會是在軟體還是硬體?
聽說要很多硬體的東西,不曉得這樣會不會大部分都在搞硬體的架構,
軟體的部分反而很少碰到。

3. 如果跳其他寫compiler的缺,多少知識是可以共用的?
聽說韌體如果是不同device資歷就會砍很重,compiler
也專攻硬體的知識,也會怕硬體不一樣很多東西要重學,年資會被砍

還請各位大大幫小弟解惑

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.3.206 (臺灣)

※ 文章網址:
https://www.ptt.cc/Soft_Job/M.1638513780.A.5C2

※ 編輯: armorNoob (180.177.3.206 臺灣), 12/03/2021 14:47:49

eopXD12/03 15:38幫你轉到 CompilerDev 版 XD

honochung12/03 15:58有請蟹老闆回答

VF8412/03 16:13來這邊問 compiler 問得到人嗎 XD。

VF8412/03 16:15我不是 compiler engineer,只能算是業餘的 LLVM hacker

VF8412/03 16:15但多少能回答一點

VF8412/03 16:162. 看你做哪個部份,基本上只有後端會摸到一些硬體

VF8412/03 16:18至於你擔心的「不太會碰到軟體」我覺得是白擔心了

VF8412/03 16:19你可以去 LLVM 看看 CodeGen 程式碼有幾行。不算 TableGen

VF8412/03 16:19的話XD

VF8412/03 16:203. 回答也跟 2 一樣,取決於你做的部份

VF8412/03 16:22但只要框架沒換,大部份的知識絕對都是可以共用的

VF8412/03 16:23(如果說你從 LLVM 換到 gcc 我就不知道會是什麼情況了XD)

VF8412/03 16:241. 我不太懂轉到純軟是什麼意思。做 compiler 不好嗎 XD

VF8412/03 16:25像 Chris Lattner 在 Apple 搞 swift,跳去 google 搞

VF8412/03 16:26Tensorflow,去年跳去 sifive 搞 riscv。最近還在弄什麼

VF8412/03 16:26MLIR,compiler 能玩的東西可多的咧

VF8412/03 16:29像是遊戲主機公司也有在請 compiler 的人。他們那裡在做的事

VF8412/03 16:30就跟硬體一點關係也沒有,你可以去問問 CompilerDev 版主

VF8412/03 16:30話說為什麼講到 compiler 大家都會認為在做硬體阿,之前在

VF8412/03 16:31Tech_Job 好像看過類似的...

VF8412/03 16:34你也可以去 YT 找 LLVM Dev Meeting 的影片來看,看那些

VF8412/03 16:35Compiler 工程師都在幹嘛 XD

keyofdejavu12/03 16:53這刪文仔,要回答的人自己評估一下要不要回答

armorNoob12/03 17:08@VF84 感謝大大分享

VF8412/03 17:08如果你所謂的「純軟」是指「只做軟體的公司」,那還是不要

VF8412/03 17:08碰 compiler 會比較好

VF8412/03 17:09需要 compiler 的公司大多都有在做自己的硬體,不管是 CPU

VF8412/03 17:09還是遊戲主機什麼的

VF8412/03 17:09廢話就講到這,剩下的你就自己判斷吧。反正做 compiler 肯定

VF8412/03 17:10餓不死。只要電腦一天沒消失,compiler 就絕對會持續存在

VF8412/03 17:17阿,我也有在做 compiler 的「純軟」公司了:Amazon 和

VF8412/03 17:17Mozilla,做的是 Rust compiler

VF8412/03 17:18不過 Amazon 也有在自產 CPU 就是了...

VF8412/03 17:18*我想到也有在做*

noahleft12/03 17:19如果是compiler前端, 可以轉parser相關的sw

noahleft12/03 17:20所以你第一個問題也要看你是compiler的哪一段

armorNoob12/03 17:26感謝各位大大,是整個都會碰到,去擴充opencl

freef1y312/03 18:05純軟的compiler跟硬體廠的compiler應該差很多

Dracarys12/03 18:12擴充啥啊 arm有在clang做C++ for OpenCL

armorNoob12/03 18:34@Dracarys 擴充opencl語法

armorNoob12/03 18:34@freef1y3 大大此話怎講

jhjhs3350412/03 18:48差不多吧 差別應該在平台支援度而已

※ 編輯: armorNoob (180.177.3.206 臺灣), 12/03/2021 19:03:51

VF8412/03 20:06而且也沒人規定你大學/研究所做 compiler,這輩子就不能走

VF8412/03 20:07其它領域吧。想那麼多做什麼呢。

VF8412/03 20:14研所版之前有個交大編譯器實驗室招生文,裡面提到他們實驗

VF8412/03 20:14室的畢業生也才一半從事編譯器開發工作

armorNoob12/03 20:15@VF84 其實是有拿到offer,所以想問個清楚才不會將來

armorNoob12/03 20:15後悔

VF8412/03 20:16原來是已經拿到 offer了。那很好呀。我想做編譯器還沒人肯

VF8412/03 20:16收我哈哈哈哈

VF8412/03 20:18Chris Lattner 的 talk,你可以看看。

VF8412/03 20:20https://reurl.cc/xEVdRe

VF8412/03 20:20剛剛在 mailing list 上看到的徵才文。找人做 javascript

VF8412/03 20:21engine 的。在我看來蠻多機會的呀

armorNoob12/03 20:25@VF84 NV本來就難上,大大這麼強可投IC廠阿,我看nova

armorNoob12/03 20:25現在有開缺

VF8412/03 20:29你誤會了,我只是個菜雞

freef1y312/03 21:02硬體廠會著重在把自家效能調到最好 或開發只有自家ISA

freef1y312/03 21:03才有的功能 所以應該會比較著重後端

freef1y312/03 21:06動前端大多只是加API而已 比較不會動到語法

freef1y312/03 21:08純軟compiler應該比較有機會擴充語法吧 不過我也沒待過

x246libra12/03 21:23底層熟悉,應用層軟體,很好上手的,但資料庫和分散式

x246libra12/03 21:23系統的資料一致性,應該花時間認真學

iamstupid84412/04 04:26這工作好像跟我的挺像,我是擴充OpenMP (5.0,5.1)

iamstupid84412/04 04:28從compiler fronted到openmp專門的middle-end opt到

iamstupid84412/04 04:28library都要碰

iamstupid84412/04 04:33我們只有在optimization 的時候會碰到跟硬體不直接

iamstupid84412/04 04:33相關的像是alignment, memory ordering, memory all

iamstupid84412/04 04:33ocator還有就是gpu的一些新特性

mithuang12/04 10:46跟硬體直接相關的是Assembler, compiler絕大多數是處理

mithuang12/04 10:46語法擴充的部分,跟硬體無直接相關,除非做硬體最佳化,

mithuang12/04 10:46才需要瞭解CPU指令特性

qmailtw12/04 11:15首先,你說的純軟的,可能是指 web frontend/backend?

qmailtw12/04 11:16如果是,沒所謂純軟,這些工作都要"商業邏輯“,更多是

qmailtw12/04 11:17瞭解用戶想要什麼,別的 team 想要什麼。

qmailtw12/04 11:17另一方面,只有“純軟”轉不進 compiler/kernel/system..

qmailtw12/04 11:18不用擔心反向轉不過來。問題是,反向轉過來時,你會覺得

qmailtw12/04 11:19在浪費生命。除非你真的是做純軟,例如 DBMS 本身之類。

qmailtw12/04 11:21另一方面,compiler/kernel/system..缺真的比較少。

qmailtw12/04 11:22但,人才的供給更少。也就是說,不怕找不到工作。但能

qmailtw12/04 11:22能選擇的公司就不多了。

Vitaceae12/08 03:06差別喔... 就像IC廠打雜的認為系統廠主任幫他提鞋都不

Vitaceae12/08 03:06配, 上古時代軟工瞧不起web, 寫conpiler勝任其他領域都

Vitaceae12/08 03:06是一片蛋糕這樣