(此崗位為外包崗位)
崗位職責(zé):
1.參與自研異構(gòu)芯片上包括Linux驅(qū)動、運(yùn)行時、編譯器、應(yīng)用層等組件在內(nèi)的軟件棧規(guī)劃、需求分析、以及軟件棧設(shè)計(jì)的可行性評估;
2.與硬件工程師合作,評估異構(gòu)芯片在上述基礎(chǔ)軟件??蓪?shí)現(xiàn)性上的表現(xiàn),作為優(yōu)化硬件設(shè)計(jì)的依據(jù);
3.芯片核心模擬器、應(yīng)用軟件框架SDK的選型,以及基于SDK的適配開發(fā);支持應(yīng)用軟件團(tuán)隊(duì)基于SDK框架的算法和應(yīng)用開發(fā);
4.參與分析和解決芯片研發(fā)和驗(yàn)證過程中的問題,包括指令流水、離散和DMA訪存、IO、計(jì)算等方面;
5.參與分析和解決硅后板級應(yīng)用調(diào)試中遇到的各類問題,通過分析和實(shí)驗(yàn)有效收斂問題范疇。
崗位要求:
1.熟悉Linux開發(fā)環(huán)境和常用命令行,熟悉git、vim等開發(fā)工具;
2.了解Linux系統(tǒng)中從頂層應(yīng)用、解釋性語言、高級語言、運(yùn)行時庫、系統(tǒng)調(diào)用、驅(qū)動、內(nèi)核、直到底層芯片和板級的多層軟硬件棧構(gòu)成,了解GPU等異構(gòu)芯片的多層軟硬件棧的常規(guī)組建方式;
3.熟悉編譯器從前端、中端、后端、鏈接到加載的一般性流程;
4.熟悉計(jì)算機(jī)體系結(jié)構(gòu)和各級硬件并行化設(shè)計(jì)方法者優(yōu)先,了解常見的硬件并行化性能挖掘和評估方法;
5.熟悉CUDA、OpenMP、OpenCV等并行編程模型者優(yōu)先;
6.具有Linux驅(qū)動、內(nèi)核、虛擬化等領(lǐng)域開發(fā)經(jīng)驗(yàn)者優(yōu)先;
7.具有LLVM或GCC、MLIR等編譯器開發(fā)經(jīng)驗(yàn)者優(yōu)先;
8.有良好的學(xué)習(xí)能力、溝通能力和團(tuán)隊(duì)合作能力,工作態(tài)度端正。