Web  收录于 VXNA 的 1 个网站
12 篇文章 feed address
ecnelises

ecnelises

V2EX 第 89617 号会员,加入于 2015-01-02 22:06:48 +08:00
根据 ecnelises 的设置,主题列表只有在你登录之后才可查看
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
ecnelises 最近回复了
24 天前
回复了 VERT1GO 创建的主题 职场话题 编译器开发相关的工作值得入坑吗?
@FIllerFooo
AI 编译器和传统编译器确实很不一样,但总归有点相似之处,有传统编译背景的人要上手会更快。只是看起来这些企业招人希望能马上干活,预期级别又偏高,所以留给转行的人机会偏少。你可以看看知乎上一个叫「蓝色」的人,他在 AI 编译这块专业一些。

资料这块,我不是 AI 编译从业者所以不算特别了解,资料少在我看来是因为变化太快,各种新框架新技术层出不穷,有点之前前端圈子那味道,TensorFlow 是个较好的切入点,因为更成熟,学习材料也更多。传统编译器资料就非常完善了,前端无非是语言标准+Parse 算法+ANTLR 这样的生成器,后端就是查各种指令集微架构还有代码里的奇技淫巧 (常见的 x86/arm/riscv 三个),中端各种 Pass 都是无数篇论文的成熟算法。这些都找得到对应的书或者博客,LLVM 代码模块化做得很好,国内国外都有讲 LLVM 的书了。

编译这个方向不通用很正常,毕竟往大了看都是小众技术,但其实除开 Web 其他很多方向也未必多热门。比如前几年短视频火热,招音视频开发的就多,待遇也水涨船高,现在也下来了。大厂搞 Web 的岗位竞争过于激烈了不如换条赛道,小厂按我理解只要能干活其实背景要求没那么多,即使是 Web ,非 Java 和 Go 的语言也许还有捡漏机会 (大环境是对创业不友好,但企业还有一些的)。总之就是应届生多个技能就是多条出路,越主流的也就越卷
25 天前
回复了 VERT1GO 创建的主题 职场话题 编译器开发相关的工作值得入坑吗?
@FIllerFooo

怕尴尬,就不开新贴了。

最近聊了一圈,其实编译后端机会比较多,这块也比较贴近传统概念里编译器的概念,半导体创业公司或者巨头新部门几乎都是基于 RISC-V ,所以如果懂点 LLVM 后端又了解一点 RISC-V 指令集,找个机会不难。麻烦的是大部分团队面上都不喜欢应届生(或许学校里搞过开源项目也可以去聊聊试试)。

半导体未来几年是国内热点,连带着编译器也有前景的。每家公司都想往里塞私货( RV 本来也支持扩展),所以都需要人。企业主要有:各种芯片创业企业、寒武纪、地平线、华为、阿里巴巴、中兴,外企也有人但现在都在收缩几乎不招人。

互联网公司也会招做编译器的人,但除了那种真有搞芯片或者基础研究部门的企业外,很大部分其实是挂羊头卖狗肉,是希望能帮助编译器的高级技术和优化落地。面试的时候还发现有意思的现象:有些面试官自己并没有做中端优化的经验,工作岗位也不涉及中端优化,但就是喜欢拿这点来纠缠面试者。原因大概是前端在他们眼中逼格不高,后端不懂的话又完全没办法聊,只能附庸风雅这样子。

另一部分是 AI 编译器,最近发现互联网大厂和车厂都缺这块人材。但这种岗位相当于要求候选人又要懂编译、又要懂 ISA 、又要懂 AI 算法,所以不好招,热点在这里,待遇肯定顶。

有很多团队有自研语言的计划,所以可能也招编译器,做的事可能有意思,但大部分在公司里都属于中层领导硬搞 KPI 的项目,盈利不好说砍就砍,慎重。

还有一个点,就是编译出身的人可能有两类截然不同的背景,一类是传统芯片公司,一类是外企,相当于卷度两端,找工作注意甄别(
这个路径是 macOS ld 写到里面的 rpath ,你用 otool -l main_1 就能打印出来。rpath 是告诉 loader 启动程序时去哪里找依赖的动态库的路径列表。所以你要去搜能不能在 CMake 里改 rpath
85 天前
回复了 cohen121 创建的主题 C++ cmake 交叉编译有大佬懂吗?
C/C++的交叉编译,需要的无非是工具链(编译器、链接器、头文件和库)。

Clang 内置交叉编译,意思是 Clang 自己的源码支持平台 A-Z ,所以只要 Clang 本身被构建的时候勾上了对某平台(比如 aarch64 )支持就没问题,但通常为了缩小体积,各种包管理里的 Clang 只会带 Host 架构支持,比如你是 x86 的机器,上面的 Clang 可能就只能编译到 x86 。所以用 Clang 的话需要搞一个支持你想要的目标平台的版本。GCC 定得更死一点,一个 GCC 只能支持一类目标平台,所以你得装一个特定的交叉编译 GCC (一般可执行文件名会带前缀),比如 gcc-mingw-w64 。

头文件和库,Linux 和 BSD 这类开源系统一般很容易搞到全套,Windows 注意下分 mingw 和 msvc 两套,macOS 也能下到。链接器麻烦一些,从 Linux 交叉编译基本只能用 GNU ld 或者 lld ,Windows 和 macOS 的 link.exe 和 ld64 没有其他平台的版本。总之你可以去参考 zig cc 包里的依赖,甚至直接用它就可以,从它交叉编译出 macOS 和 Windows 的 hello world 就是一分钟的事。

CMake 的配置可以参考下官方文档,核心也基本就是一些编译选项: https://cmake.org/cmake/help/book/mastering-cmake/chapter/Cross%20Compiling%20With%20CMake.html
90 天前
回复了 VERT1GO 创建的主题 职场话题 编译器开发相关的工作值得入坑吗?
我就是做编译器的,现在还在找工作中,可能比前面的 V 友相对更有发言权一点…这个领域上限当然是高,国内中科院有专门的实验室,看到认识的学弟飞去国外参加各种顶会。但不代表就业门槛真的就那么高,因为任何行当都有搬砖的不是?

就业角度,编译器好的地方在于,它能和很多领域沾边,所以就算传统编译器已经成熟了,也总能有几个关联方向火。比如前端方面,一是静态分析工具,二是国内外大厂到一定规模都会搞自己的语言(有的并不对外公开),三是搞 AI 加速芯片需要开发自己类似 CUDA 的 DSL ,这几个都对编译器前端技能有要求。

中端方面,很多 AI 的 workload 需要高层次的算子优化(也就是传说中的 AI 编译器),有些代码库非常大的公司也有针对性调优的需求,另外传统编译器里也有做中端优化的空间。

后端方面,面向经典 CPU 的传统编译器是最多的场景,每个指令集的 vendor 都会养一帮人维护后端(比如 intel 、arm ,像华为高通也有给开源编译器 arm 后端贡献代码),然后是各种 GPU 或者 NPU 后端,现在还有需求就是基于 RISCV 的各种魔改芯片也需要后端开发的人力。还有就是高级语言虚拟机,比如 JS 、Python 引擎这类,这种岗位国内很少,JVM 多一些。

差不多 2017 年以前,国内做编译器的团队很少,能找到的工作都是外企。后面贸易战,国内大笔投资芯片,RISCV 逐渐成熟,又有 AI 这波热度,Golang 、Rust 这些新语言流行也让大厂的基础设施团队发现了新 KPI 来源,总之现在编译器相关的岗其实比原来多了很多。18 年校招的时候面试腾讯,面试官说你想做什么我们腾讯什么都有,我说编译器,他尴尬地说这个真没有😅结果现在腾讯也有编译器岗了。

小不小众,肯定是不如 Web 或者云就业范围广的,但反过来也意味着不卷,总之各种 HR 都抱怨编译的人不好招。菊花的话,可能是家大业大,内部有非常多个团队(可能我能想到的就有 3-4 个)都在做编译器,所以有人才缺口。认识的行业内 35 岁以上的…也不少了,但大环境在这里,年龄总归对再就业有影响。等下个月把工作搞定打算再开个帖子讲讲。
178 天前
回复了 ecnelises 创建的主题 程序员 请谨慎购买人体工学椅,尤其是网购
@default7 永艺的一把什么椅子,算是普普通通吧
226 天前
回复了 user23125 创建的主题 VXNA 这是 V2EX 即将推出的新功能吗?
个人网站为什么要纠结 React 还是 Vue ?如果你的网站一没有复杂的交互,二只有一个人开发,三需要快速简洁,用这几个框架(也包括 ng )就是本末倒置,杀鸡用牛刀。如果你是一个专业前端,对某个框架非常熟悉,出于习惯用它写个人网站没啥问题,但 OP 不是这种情况。

以前的人用 jQuery 是因为浏览器普遍兼容性特别差,jQuery 能够抹平很多浏览器兼容性问题。现在 2024 年了,主流浏览器( Safari 、Firefox 、Chrome 、Edge )可以放心使用现代 API 。个人网站以内容为主,不需要多少 JS ,你说的 Vue 、React 这些东西本身也没法帮你解决动画这些问题,反倒几行 CSS 就能搞定。

如果你不想写 CSS ,也有 Tailwind 这种东西,让 GPT 生成一组用 Tailwind 的 HTML ,自己改改就能上线,用前端框架说不定还在折腾工具链。
247 天前
回复了 xiaopanglian 创建的主题 设计 一个好的简约博客大概是什么样的呢?
https://ecnelises.com/
我的这个应该算……简洁吧?
除开 Ruby 这类解释型动态语言不谈,Objective-C 显然更符合 Smalltalk 的理念。可惜的是除开其奇怪的语法,大多数人可能也没有多喜欢这种程度的动态性。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5238 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 05:44 · PVG 13:44 · LAX 21:44 · JFK 00:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.