![RFC: [Title]](http://pic.xiahunao.cn/yaotu/RFC: [Title])
RFC: [Title]【免費下載鏈接】taichiProductive, portable, and performant GPU programming in Python.項目地址: https://gitcode.com/GitHub_Trending/ta/taichiAuthor(s): [Authors]Date: [yyyy-mm-dd]Relevant Issue: [Issue URL]- Title提案標題應(yīng)能一句話概括設(shè)計主題真實示例可參考 RFC: AOT for All SNodes。 - Author(s)作者們。 - DateRFC 創(chuàng)建日期與文件名中的 yyyymmdd 保持一致。 - Relevant Issue關(guān)聯(lián)的 GitHub Issue 鏈接用于追蹤該 RFC 對應(yīng)的工作項。按流程文檔這一步通常在第 1 步開 Issue 或評審?fù)ㄟ^后補填。 ### TL;DRRequired必填 模板明確要求TL;DR 意為 *too long; didnt read*太長不看因此只放最核心的信息并保持簡短。這是評審者和后續(xù)查閱者最先讀到的內(nèi)容應(yīng)做到「30 秒內(nèi)理解提案要做什么」。 ### BackgroundHighly recommended強烈建議 模板給出的撰寫指導(dǎo)是如果讀者能先理解問題域就能更好地理解你的提案。因此本節(jié)用來交代背景、現(xiàn)狀與痛點——為什么要做這個改動、當前方案存在什么問題。以 [AOT for All SNodes RFC](https://link.gitcode.com/i/5be0c233c2e75a41d13f333aff602f50) 為例其 Background 列出了現(xiàn)有 Taichi 字段機制給部署側(cè)帶來的三大挑戰(zhàn) 1. Taichi 字段當前以全局變量實現(xiàn)導(dǎo)致 kernel 非純函數(shù)、依賴隱式信息AOT 保存 kernel 時還必須保存全部依賴的全局狀態(tài) 2. AOT 模塊中缺少 SNode 類型信息無法將字段作為參數(shù)傳入 kernel 3. 字段數(shù)據(jù)由 Taichi 運行時創(chuàng)建管理用戶無法自主管理內(nèi)存資源。 ### GoalsRequired必填與 Non-Goals 模板要求目標必須非常具體針對問題定義明確本節(jié)將討論/解決哪些方面并幾乎總是以項目符號列表書寫。為了幫助讀者聚焦建議在下方額外增加 *Non-Goals*非目標小節(jié)劃清本次提案**不做什么**。 [AOT for All SNodes RFC](https://link.gitcode.com/i/5be0c233c2e75a41d13f333aff602f50) 的目標節(jié)是很好的范例——它列出 5 條具體目標如「提供可將 SNode 與字段本地化的 API使 kernel 變?yōu)榧兒瘮?shù)」「讓 SNode 類型可序列化進 AOT」隨后用 Non-Goals 明確「不擴展對 LLVM codegen 之外尤其是 SPIR-V稀疏 SNode 的支持」從而把討論邊界約束得清清楚楚。 ### Detailed DesignRequired必填——RFC 的主體 模板對此節(jié)的要求最為詳盡 - 用足夠細節(jié)解釋具體設(shè)計 - 建議包含示例 API 代碼片段、算法偽代碼、系統(tǒng)流程圖等素材 - 必須批判性思考同時討論設(shè)計的**優(yōu)點與缺點pros and cons** - 如適用將圖片或其他資源文件放在 [res/](https://link.gitcode.com/i/274cdebfa407f7e3469e715e5831f7a7) 目錄下 - 雖然本節(jié)通常占 RFC 最大篇幅但仍應(yīng)力求簡潔——「把想法講清楚不要更多」。 [AOT for All SNodes RFC](https://link.gitcode.com/i/5be0c233c2e75a41d13f333aff602f50) 的 Detailed Design 展示了如何把一個大設(shè)計拆成多個聚焦子節(jié)A first attempt首個嘗試及其為何行不通、A working designSNodeTreeBuilder 的最終設(shè)計、Defining shape、AoS vs SoA、Gradient and AutoDiff、Python AOT API、C AOT API、Backward Compatibility。每一節(jié)都配有可運行的 Python/C 代碼片段例如核心設(shè)計 SNodeTreeBuilder python builder ti.SNodeTreeBuilder() builder.add_field(dtypeti.f32, namex) builder.add_field(dtypeti.i32, namey) builder.tree() .pointer(ti.ij, 4) .dense(ti.ij, 5) .place(x, y) # tree_t stands for tree type. tree_t builder.build()【免費下載鏈接】taichiProductive, portable, and performant GPU programming in Python.項目地址: https://gitcode.com/GitHub_Trending/ta/taichi創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考