● 設(shè)計(jì)和開(kāi)發(fā)高性能的編譯器框架,支持多種異構(gòu)計(jì)算設(shè)備(如CPU、GPU、DSP、DSA 等);
● 負(fù)責(zé)編譯器前端、中端、后端的設(shè)計(jì)和優(yōu)化,包括但不限于代碼生成、寄存
器分配、指令調(diào)度等;
● 參與編程模型和編程語(yǔ)言的設(shè)計(jì)和開(kāi)發(fā)工作;
● 研發(fā)編譯器工具鏈(包括但不限于compiler, code generator, un/assembler,
linker, sanitizer,code coverage,計(jì)算庫(kù)開(kāi)發(fā),靜態(tài)檢查工具等);
● 與硬件架構(gòu)團(tuán)隊(duì)緊密合作,參與異構(gòu)計(jì)算平臺(tái)的體系架構(gòu)設(shè)計(jì)和優(yōu)化;
基本要求
● 計(jì)算機(jī)科學(xué)或電子工程學(xué)碩士畢業(yè),3-10年以上編譯器開(kāi)發(fā)經(jīng)驗(yàn);
● 熟悉LLVM, GCC等現(xiàn)代編譯器框架,有相關(guān)開(kāi)發(fā)經(jīng)驗(yàn);
● 精通計(jì)算機(jī)處理器概念和體系結(jié)構(gòu)以及相應(yīng)的軟件棧(Linux 操作系統(tǒng),驅(qū)
動(dòng),編譯器等);
● 有高性能計(jì)算和并行計(jì)算優(yōu)化經(jīng)驗(yàn),熟悉相關(guān)算法和優(yōu)化技巧。
● 熟練掌握C/C++,有良好的算法和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ);
● 深入理解編譯器理論與開(kāi)發(fā),有豐富的編譯器架構(gòu)設(shè)計(jì)經(jīng)驗(yàn);
● 熟悉軟件開(kāi)發(fā)、驗(yàn)證、發(fā)布和管理流程(如敏捷開(kāi)發(fā),缺陷管理,CI/CD 概
念等);
● 良好的英語(yǔ)聽(tīng)說(shuō)讀寫(xiě)能力,能夠閱讀和撰寫(xiě)技術(shù)文檔。
加分項(xiàng)
● 熟悉CUDA編譯器以及SIMT程序優(yōu)化相關(guān)經(jīng)驗(yàn);
● 熟悉NVPTX,RISCV等指令架構(gòu);
● 熟悉OpenCL、OneAPI、OpenMP、CUDA、HIP等編程語(yǔ)言以及相關(guān)設(shè)計(jì)經(jīng)驗(yàn);
● 有Shader Compiler 相關(guān)的開(kāi)發(fā)經(jīng)驗(yàn);
● 有軟硬件體系結(jié)構(gòu)協(xié)同設(shè)計(jì)經(jīng)驗(yàn);
● 熟悉CUDA MATH,有計(jì)算庫(kù)開(kāi)發(fā)經(jīng)驗(yàn)優(yōu)先;
● 有靜態(tài)代碼檢查工具開(kāi)發(fā)經(jīng)驗(yàn)優(yōu)先,包括:clang-tidy, clangd等;