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