[请益] compiler engineer跟一般sw engineer差别

楼主: armorNoob (pro臭酸肥宅)   2021-12-03 14:42:58
各位大大好
小弟有几个疑惑
1. 想请问下写compiler的话,跟一般的sw会差很多吗?
C++写LLVM,扩充openCL语法,整个flow都会碰到
如果之后要转纯软不晓得年资会不会重算
2. 大部分时间focus的点会是在软件还是硬件?
听说要很多硬件的东西,不晓得这样会不会大部分都在搞硬件的架构,
软件的部分反而很少碰到。
3. 如果跳其他写compiler的缺,多少知识是可以共用的?
听说韧体如果是不同device资历就会砍很重,compiler
也专攻硬件的知识,也会怕硬件不一样很多东西要重学,年资会被砍
还请各位大大帮小弟解惑
作者: eopXD (eopXD)   2021-12-03 15:38:00
帮你转到 CompilerDev 版 XD
作者: honochung (http://lol.moa.tw)   2021-12-03 15:58:00
有请蟹老板回答
作者: VF84 (Jolly Roger)   2021-12-03 16:13:00
来这边问 compiler 问得到人吗 XD。我不是 compiler engineer,只能算是业余的 LLVM hacker但多少能回答一点2. 看你做哪个部份,基本上只有后端会摸到一些硬件至于你担心的“不太会碰到软件”我觉得是白担心了你可以去 LLVM 看看 CodeGen 程式码有几行。不算 TableGen的话XD3. 回答也跟 2 一样,取决于你做的部份但只要框架没换,大部份的知识绝对都是可以共用的(如果说你从 LLVM 换到 gcc 我就不知道会是什么情况了XD)
作者: keyofdejavu (海洋)   2021-12-03 16:53:00
这删文仔,要回答的人自己评估一下要不要回答
楼主: armorNoob (pro臭酸肥宅)   2021-12-03 17:08:00
@VF84 感谢大大分享
作者: VF84 (Jolly Roger)   2021-12-03 17:08:00
如果你所谓的“纯软”是指“只做软件的公司”,那还是不要碰 compiler 会比较好需要 compiler 的公司大多都有在做自己的硬件,不管是 CPU还是游戏主机什么的废话就讲到这,剩下的你就自己判断吧。反正做 compiler 肯定饿不死。只要电脑一天没消失,compiler 就绝对会持续存在阿,我也有在做 compiler 的“纯软”公司了:Amazon 和Mozilla,做的是 Rust compiler不过 Amazon 也有在自产 CPU 就是了...*我想到也有在做*
作者: noahleft (NoahLeft)   2021-12-03 17:19:00
如果是compiler前端, 可以转parser相关的sw所以你第一个问题也要看你是compiler的哪一段
楼主: armorNoob (pro臭酸肥宅)   2021-12-03 17:26:00
感谢各位大大,是整个都会碰到,去扩充opencl
作者: freef1y3 ( )   2021-12-03 18:05:00
纯软的compiler跟硬件厂的compiler应该差很多
作者: Dracarys (MayShowGunMore)   2021-12-03 18:12:00
扩充啥啊 arm有在clang做C++ for OpenCL
楼主: armorNoob (pro臭酸肥宅)   2021-12-03 18:34:00
@Dracarys 扩充opencl语法@freef1y3 大大此话怎讲
作者: jhjhs33504 ( )   2021-12-03 18:48:00
差不多吧 差别应该在平台支援度而已
作者: VF84 (Jolly Roger)   2021-12-03 20:06:00
而且也没人规定你大学/研究所做 compiler,这辈子就不能走其它领域吧。想那么多做什么呢。研所版之前有个交大编译器实验室招生文,里面提到他们实验室的毕业生也才一半从事编译器开发工作
楼主: armorNoob (pro臭酸肥宅)   2021-12-03 20:15:00
@VF84 其实是有拿到offer,所以想问个清楚才不会将来后悔
作者: VF84 (Jolly Roger)   2021-12-03 20:16:00
原来是已经拿到 offer了。那很好呀。我想做编译器还没人肯收我哈哈哈哈https://www.youtube.com/watch?v=4HgShra-KnYChris Lattner 的 talk,你可以看看。https://reurl.cc/xEVdRe刚刚在 mailing list 上看到的征才文。找人做 javascriptengine 的。在我看来蛮多机会的呀
楼主: armorNoob (pro臭酸肥宅)   2021-12-03 20:25:00
@VF84 NV本来就难上,大大这么强可投IC厂阿,我看nova现在有开缺
作者: VF84 (Jolly Roger)   2021-12-03 20:29:00
你误会了,我只是个菜鸡
作者: freef1y3 ( )   2021-12-03 21:02:00
硬件厂会着重在把自家效能调到最好 或开发只有自家ISA才有的功能 所以应该会比较著重后端动前端大多只是加API而已 比较不会动到语法纯软compiler应该比较有机会扩充语法吧 不过我也没待过
作者: x246libra (楓)   2021-12-03 21:23:00
底层熟悉,应用层软件,很好上手的,但数据库和分布式系统的资料一致性,应该花时间认真学
作者: iamstupid844 (iamstupid844)   2021-12-04 04:26:00
这工作好像跟我的挺像,我是扩充OpenMP (5.0,5.1)从compiler fronted到openmp专门的middle-end opt到library都要碰我们只有在optimization 的时候会碰到跟硬件不直接相关的像是alignment, memory ordering, memory allocator还有就是gpu的一些新特性
作者: mithuang (阿明)   2021-12-04 10:46:00
跟硬件直接相关的是Assembler, compiler绝大多数是处理语法扩充的部分,跟硬件无直接相关,除非做硬件最佳化,才需要了解CPU指令特性
作者: qmailtw (爱八卦的主管滚远点)   2021-12-04 11:15:00
首先,你说的纯软的,可能是指 web frontend/backend?如果是,没所谓纯软,这些工作都要"商业逻辑“,更多是了解用户想要什么,别的 team 想要什么。另一方面,只有“纯软”转不进 compiler/kernel/system..不用担心反向转不过来。问题是,反向转过来时,你会觉得在浪费生命。除非你真的是做纯软,例如 DBMS 本身之类。另一方面,compiler/kernel/system..缺真的比较少。但,人才的供给更少。也就是说,不怕找不到工作。但能能选择的公司就不多了。
作者: Vitaceae (Vit)   2021-12-08 03:06:00
差别喔... 就像IC厂打杂的认为系统厂主任帮他提鞋都不配, 上古时代软工瞧不起web, 写conpiler胜任其他领域都是一片蛋糕这样

Links booklink

Contact Us: admin [ a t ] ucptt.com