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