英偉達近日正式推出CUDA 13.1版本,這是自2006年CUDA平臺問世以來最具突破性的功能擴展。此次更新引入名為CUDA Tile的全新GPU編程范式,旨在降低AI與加速計算的應用門檻,讓更多開發者能夠高效利用GPU的強大算力。
傳統CUDA編程基于單指令多線程(SIMT)模型,要求開發者精細控制線程執行細節。雖然這種方式提供了最大靈活性,但編寫跨多代GPU架構的高性能代碼需要深厚經驗。盡管已有CUDA-X、CUTLASS等工具庫輔助優化,英偉達仍通過CUDA Tile引入更高層次的抽象編程模型。該技術將張量核心等專用硬件細節封裝在虛擬指令集后,開發者只需關注數據塊(Tile)級別的計算定義,編譯器會自動處理線程映射、內存層次等底層實現。
隨著AI計算需求激增,張量已成為核心數據類型。英偉達為每代GPU配備的張量核心(TC)和內存加速器(TMA)雖提升了性能,但也增加了編程復雜度。CUDA Tile通過抽象硬件特性,使代碼能夠自動適配不同架構的張量核心,解決了跨代兼容性問題。這種編程方式類似于Python中NumPy庫的操作模式——開發者指定矩陣運算邏輯,無需手動管理底層執行細節。
技術實現層面,CUDA Tile基于全新的中間表示(IR)架構。該虛擬指令集將數據劃分為Tile單元,開發者通過定義Tile間的計算關系構建算法。相比傳統SIMT模型需要將數據映射到線程層級,Tile模型直接操作數據塊,顯著簡化了編程邏輯。英偉達提供的對比圖顯示,Tile模型(左)將數據劃分為塊后交由編譯器處理線程分配,而SIMT模型(右)需要開發者直接指定塊與線程的映射關系。
CUDA Tile的引入并未取代現有編程模式,而是與SIMT路徑形成互補。開發者可根據需求選擇:傳統內核編寫仍可使用SIMT模型,涉及張量核心運算時則可采用Tile內核。這種雙軌設計確保了既有代碼庫的兼容性,同時為新應用開發提供更高效的實現路徑。完整的軟件棧集成方案顯示,Tile編譯路徑與SIMT路徑并行存在,共同構成完整的GPU編程生態。
對于普通開發者,英偉達推出了cuTile Python庫作為主要交互接口。該工具封裝了CUDA Tile IR的后端實現,允許通過Python代碼直接調用Tile編程能力。專業開發者則可通過CUDA Tile IR的規范文檔,構建自定義編譯器或領域專用語言,其編程抽象層級與SIMT時代的PTX指令集相當。已有工具鏈若以PTX為目標,可快速調整支持CUDA Tile IR,實現跨代代碼優化。










