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