[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-cutile-jl-v0-3-cuda-jl-support-faster-startup-zh":3,"tags-cutile-jl-v0-3-cuda-jl-support-faster-startup-zh":36,"related-lang-cutile-jl-v0-3-cuda-jl-support-faster-startup-zh":47,"related-posts-cutile-jl-v0-3-cuda-jl-support-faster-startup-zh":51,"series-tools-16dd1c25-37f6-42f3-9c8b-91ea90ab376c":88},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":20,"translated_content":10,"views":21,"is_premium":22,"created_at":23,"updated_at":23,"cover_image":11,"published_at":24,"rewrite_status":25,"rewrite_error":10,"rewritten_from_id":26,"slug":27,"category":28,"related_article_id":29,"status":30,"google_indexed_at":31,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":32,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":22},"16dd1c25-37f6-42f3-9c8b-91ea90ab376c","cuTile.jl v0.3 加入 CUDA.jl 支援","\u003Cp data-speakable=\"summary\">cuTile.jl v0.3 整合 \u003Ca href=\"\u002Ftag\u002Fcuda\">CUDA\u003C\u002Fa>.jl，縮短首次啟動時間，還加上 \u003Ca href=\"\u002Ftag\u002Fgpu\">GPU\u003C\u002Fa> 隨機數與切片支援。\u003C\u002Fp>\u003Cp>這版更新很直接。\u003Ca href=\"https:\u002F\u002Fdiscourse.julialang.org\u002Ft\u002Fann-cutile-jl-v0-3-webinar\u002F136988\" target=\"_blank\" rel=\"noopener\">cuTile.jl\u003C\u002Fa> v0.3 把 tile kernel 的入口收進 \u003Ca href=\"https:\u002F\u002Fcuda.juliagpu.org\u002Fstable\u002F\" target=\"_blank\" rel=\"noopener\">CUDA.jl\u003C\u002Fa> 的流程裡。作者也說，第一次跑簡單 kernel 的 TTFX 大約是 1.8 秒。\u003C\u002Fp>\u003Cp>講白了，這種改動很務實。GPU 工具最怕的不是慢，而是第一次用就卡住。你如果要把 tile-based \u003Ca href=\"\u002Ftag\u002Fapi\">API\u003C\u002Fa> 放進 Julia 工作流，啟動體驗就很重要。這版就是在處理這件事。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>項目\u003C\u002Fth>\u003Cth>v0.3 內容\u003C\u002Fth>\u003Cth>數字或結果\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Kernel 啟動\u003C\u002Ftd>\u003Ctd>整合 CUDA.jl\u003C\u002Ftd>\u003Ctd>\u003Ccode>@cuda backend=cuTile\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>首次啟動延遲\u003C\u002Ftd>\u003Ctd>簡單 kernel 的 TTFX\u003C\u002Ftd>\u003Ctd>約 1.8 秒\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Benchmark 結果\u003C\u002Ftd>\u003Ctd>對比 NVIDIA cuTile Python\u003C\u002Ftd>\u003Ctd>每個 shipped test 都打平或更好\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Webinar\u003C\u002Ftd>\u003Ctd>與 Andy Terrel 的聯合場次\u003C\u002Ftd>\u003Ctd>2026\u002F05\u002F12 1 PM ET\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>v0.3 到底改了什麼\u003C\u002Fh2>\u003Cp>這次最核心的變化，是把 cuTile.jl 跟 CUDA.jl 接起來。對 Julia GPU 使用者來說，這很有感。因為大家本來就熟 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FJuliaGPU\u002FCUDA.jl\" target=\"_blank\" rel=\"noopener\">CUDA.jl\u003C\u002Fa> 的 API，不想再學一套完全不同的啟動方式。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778109065730-yzqn.png\" alt=\"cuTile.jl v0.3 加入 CUDA.jl 支援\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>現在的寫法是 \u003Ccode>@cuda backend=cuTile\u003C\u002Fcode>。意思很簡單，就是保留熟悉的入口，再把執行後端切到 cuTile。這種設計比另起爐灶更實際，也比較不會把人嚇跑。\u003C\u002Fp>\u003Cp>我覺得這個方向是對的。GPU 軟體常常死在前 10 分鐘。不是演算法不行，是安裝、語法、範例全都不順。cuTile.jl v0.3 的重點，就是把這個摩擦力壓低。\u003C\u002Fp>\u003Cul>\u003Cli>Kernel 啟動改成 \u003Ccode>@cuda backend=cuTile\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>保留 CUDA.jl 的開發習慣\u003C\u002Fli>\u003Cli>簡單 kernel 的 TTFX 約 1.8 秒\u003C\u002Fli>\u003Cli>對新手和試驗性專案更友善\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>為什麼效能數字值得看\u003C\u002Fh2>\u003Cp>作者在公告裡說，v0.3 在每個 shipped benchmark 上，都能和 \u003Ca href=\"\u002Ftag\u002Fnvidia\">NVIDIA\u003C\u002Fa> 的 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fcutile\" target=\"_blank\" rel=\"noopener\">cuTile Python\u003C\u002Fa> 打平，甚至更好。這句話很硬。因為大家看到新 API，第一個問題通常就是：那效能會不會掉？\u003C\u002Fp>\u003Cp>這裡更有意思的是 TTFX。Julia 的第一次執行延遲，常常比你想像中更惱人。尤其是小 kernel。作者量到的數字是約 1.8 秒。這代表 cuTile.jl 沒有為了抽象層，把啟動成本拉得太高。\u003C\u002Fp>\u003Cp>如果你每天都在調 GPU 程式，這種差異很現實。少掉幾秒，感覺\u003Ca href=\"\u002Fnews\u002Fwhy-rag-needs-self-healing-layer-zh\">不只是\u003C\u002Fa>一點點。你會更願意試、願意改、願意在 notebook 或腳本裡反覆跑。\u003C\u002Fp>\u003Cblockquote>\u003Cp>“We now match or outperform NVIDIA’s cuTile Python on every benchmark we ship.”\u003C\u002Fp>\u003Cfooter>maleadt，cuTile.jl v0.3 公告\u003C\u002Ffooter>\u003C\u002Fblockquote>\u003Cp>這句話的分量在於，它不是只講語法好看。它同時把速度也拉進來。對 GPU 工程師來說，這才有說服力。漂亮的 API 很多，跑得快又順手的，沒那麼多。\u003C\u002Fp>\u003Cul>\u003Cli>對比對象是 NVIDIA cuTile Python\u003C\u002Fli>\u003Cli>作者宣稱所有 shipped benchmark 都打平或更好\u003C\u002Fli>\u003Cli>TTFX 約 1.8 秒，落在可接受範圍\u003C\u002Fli>\u003Cli>對 Julia GPU 專案來說，這是實用訊號\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>隨機數與切片，才是實戰重點\u003C\u002Fh2>\u003Cp>v0.3 另一個重點，是補上 GPU 隨機數。公告提到，host 端和 kernel 內都支援。對科學計算、模擬、取樣這些工作來說，這不是附加功能，而是日常需求。少了這塊，很多專案根本接不起來。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778109055658-ijua.png\" alt=\"cuTile.jl v0.3 加入 CUDA.jl 支援\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>作者還說，效能和 \u003Ca href=\"https:\u002F\u002Fdocs.nvidia.com\u002Fcuda\u002Fcurand\u002F\" target=\"_blank\" rel=\"noopener\">cuRAND\u003C\u002Fa> 以及 GPUArrays.jl 的新 generator 相近或更好。這很重要。因為很多人不是不能接受新 API，而是不能接受新 API 變慢。尤其在 GPU 上，慢 10% 都會讓人皺眉頭。\u003C\u002Fp>\u003Cp>另外一個實用更新，是 array slicing。你可以用 \u003Ccode>@view A[i:j, :]\u003C\u002Fcode> 產生子範圍 \u003Ccode>TileArray\u003C\u002Fcode>，再丟給 \u003Ccode>ct.load\u003C\u002Fcode> 或 \u003Ccode>ct.store\u003C\u002Fcode>。這種設計很 Julia。它不是硬塞一套新語法，而是盡量吃進既有的陣列習慣。\u003C\u002Fp>\u003Cul>\u003Cli>支援 host 端隨機數\u003C\u002Fli>\u003Cli>支援 kernel 內隨機數\u003C\u002Fli>\u003Cli>效能對齊 cuRAND 與 GPUArrays.jl generator\u003C\u002Fli>\u003Cli>\u003Ccode>@view\u003C\u002Fcode> 可產生 \u003Ccode>TileArray\u003C\u002Fcode> 子範圍\u003C\u002Fli>\u003Cli>更容易跟現有 Julia 陣列程式接軌\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>跟其他 GPU 工具比，差在哪\u003C\u002Fh2>\u003Cp>如果拿 Julia 這邊常見工具來看，cuTile.jl 的定位很清楚。\u003Ca href=\"https:\u002F\u002Fcuda.juliagpu.org\u002Fstable\u002F\" target=\"_blank\" rel=\"noopener\">CUDA.jl\u003C\u002Fa> 是主幹。\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FJuliaGPU\u002FGPUArrays.jl\" target=\"_blank\" rel=\"noopener\">GPUArrays.jl\u003C\u002Fa> 偏高階抽象。cuTile.jl 則是在 tile-based 工作流上補一塊拼圖。\u003C\u002Fp>\u003Cp>它不像某些 pack\u003Ca href=\"\u002Fnews\u002Fwhy-rag-is-ending-for-agentic-ai-zh\">age\u003C\u002Fa> 一樣，一上來就要你換思路。相反地，它想塞進既有流程。這對團隊合作很重要。因為團隊最怕的是某個人很愛新東西，但其他人看不懂、也不想學。\u003C\u002Fp>\u003Cp>從實際採用角度看，這版的價值有三個。第一，入口更熟。第二，啟動更快。第三，功能更完整。這三件事湊在一起，才比較像能進專案的工具，而不是只能 demo 的玩具。\u003C\u002Fp>\u003Cul>\u003Cli>CUDA.jl：主流 Julia GPU 入口\u003C\u002Fli>\u003Cli>GPUArrays.jl：高階陣列抽象\u003C\u002Fli>\u003Cli>cuTile.jl：tile-based 路線\u003C\u002Fli>\u003Cli>v0.3 把三者之間的切換成本壓低\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>這波更新的產業脈絡\u003C\u002Fh2>\u003Cp>GPU 開發現在很分裂。一邊是低階 API，快，但難寫。另一邊是高階抽象，爽，但常常怕效能掉。cuTile.jl 走的是中間路線。它想要的是 tile-based 的效率，外加 Julia 風格的可讀性。\u003C\u002Fp>\u003Cp>這也是為\u003Ca href=\"\u002Fnews\u002Ffigure-billion-month-tokenized-credit-breakout-zh\">什麼\u003C\u002Fa>這種 release 值得看。它不是只改一個參數，而是在調整使用者怎麼進入整個生態。對 Julia 社群來說，這類更新會影響 package 作者怎麼寫 library，也會影響研究者怎麼把實驗程式變成可重用軟體。\u003C\u002Fp>\u003Cp>還有一個現實面。很多 GPU 專案最後不是死在算力，而是死在維護。只要 API 太怪、文件太散、切片不順，後面的人就不接了。cuTile.jl v0.3 至少在朝比較好維護的方向走。\u003C\u002Fp>\u003Cp>這次還搭配一場 webinar。時間是 2026\u002F05\u002F12，下午 1 點 ET。主講者有 \u003Ca href=\"https:\u002F\u002Fjuliahub.com\u002F\" target=\"_blank\" rel=\"noopener\">JuliaHub\u003C\u002Fa> 與 \u003Ca href=\"https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002F\" target=\"_blank\" rel=\"noopener\">NVIDIA\u003C\u002Fa> 的 Andy Terrel。這種公開說明會通常很有用，因為很多細節光看公告看不出來。\u003C\u002Fp>\u003Ch2>接下來我會怎麼看\u003C\u002Fh2>\u003Cp>我對 cuTile.jl v0.3 的判斷很簡單。它不是在講更炫的故事，而是在講更順的工作流。對開發者來說，這種更新通常比大詞更有用。因為你每天面對的是程式碼，不是簡報。\u003C\u002Fp>\u003Cp>接下來真正的觀察點，是有沒有更多專案把它放進實作。只要 CUDA.jl 的整合真的降低門檻，random number 和 slicing 也夠穩，cuTile.jl 就有機會從 demo 變成工具鏈的一部分。\u003C\u002Fp>\u003Cp>如果你本來就在寫 Julia GPU 程式，我會建議直接試一次 \u003Ccode>@cuda backend=cuTile\u003C\u002Fcode>。先看啟動時間，再看你現有的 kernel 能不能順利接上。這種東西不用想太多，跑了就知道。\u003C\u002Fp>\u003C\u002Fh2>","cuTile.jl v0.3 整合 CUDA.jl，啟動更快，還補上 GPU 隨機數與切片支援，讓 Julia 的 tile-based GPU 開發更順手。","discourse.julialang.org","https:\u002F\u002Fdiscourse.julialang.org\u002Ft\u002Fann-cutile-jl-v0-3-webinar\u002F136988",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778109065730-yzqn.png",[13,14,15,16,17,18,19],"cuTile.jl","Julia GPU","CUDA.jl","tile-based GPU","GPU random number","TTFX","JuliaHub","zh",1,false,"2026-05-06T23:10:34.550285+00:00","2026-05-06T23:10:34.415+00:00","done","8e7195b8-ac5e-4bea-b5e3-4c466c7ee02a","cutile-jl-v0-3-cuda-jl-support-faster-startup-zh","tools","b102dcec-143f-41ab-a0f5-f1364f86552a","published","2026-05-07T09:00:18.587+00:00",[33,34,35],"v0.3 最大變化是整合 CUDA.jl，入口更接近 Julia 使用者熟悉的流程。","作者宣稱 shipped benchmarks 打平或優於 NVIDIA cuTile Python，TTFX 約 1.8 秒。","新版本補上 GPU 隨機數與 @view 切片，讓實戰可用性更高。",[37,39,41,43,45],{"name":15,"slug":38},"cudajl",{"name":16,"slug":40},"tile-based-gpu",{"name":17,"slug":42},"gpu-random-number",{"name":13,"slug":44},"cutilejl",{"name":14,"slug":46},"julia-gpu",{"id":29,"slug":48,"title":49,"language":50},"cutile-jl-v0-3-cuda-jl-support-faster-startup-en","cuTile.jl v0.3 adds CUDA.jl support and faster startup","en",[52,58,64,70,76,82],{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":28},"68e4be16-dc38-4524-a6ea-5ebe22a6c4fb","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-zh","為什麼 VidHub 會員互通不是「買一次全設備通用」","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789450987-advz.png","2026-05-14T20:10:24.048988+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":28},"7a1e174f-746b-4e82-a0e3-b2475ab39747","why-buns-zig-to-rust-experiment-is-right-zh","為什麼 Bun 的 Zig-to-Rust 實驗是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767879127-5dna.png","2026-05-14T14:10:26.886397+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":28},"e742fc73-5a65-4db3-ad17-88c99262ceb7","why-openai-api-pricing-is-product-strategy-zh","為什麼 OpenAI API 定價是產品策略，不是註腳","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749859485-chvz.png","2026-05-14T09:10:26.003818+00:00",{"id":71,"slug":72,"title":73,"cover_image":74,"image_url":74,"created_at":75,"category":28},"c757c5d8-eda9-45dc-9020-4b002f4d6237","why-claude-code-prompt-design-beats-ide-copilots-zh","為什麼 Claude Code 的提示設計贏過 IDE Copilot","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742645084-dao9.png","2026-05-14T07:10:29.371901+00:00",{"id":77,"slug":78,"title":79,"cover_image":80,"image_url":80,"created_at":81,"category":28},"4adef3ab-9f07-4970-91cf-77b8b581b348","why-databricks-model-serving-is-right-default-zh","為什麼 Databricks Model Serving 是生產推論的正確預設","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692245329-a2wt.png","2026-05-13T17:10:30.659153+00:00",{"id":83,"slug":84,"title":85,"cover_image":86,"image_url":86,"created_at":87,"category":28},"b3305057-451d-48e4-9fb9-69215f7effad","why-ibm-bob-right-kind-ai-coding-assistant-zh","為什麼 IBM 的 Bob 才是對的 AI 寫碼助手","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778664653510-64hc.png","2026-05-13T09:30:21.881547+00:00",[89,94,99,104,109,114,119,124,129,134],{"id":90,"slug":91,"title":92,"created_at":93},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":95,"slug":96,"title":97,"created_at":98},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":100,"slug":101,"title":102,"created_at":103},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":105,"slug":106,"title":107,"created_at":108},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":110,"slug":111,"title":112,"created_at":113},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":115,"slug":116,"title":117,"created_at":118},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":120,"slug":121,"title":122,"created_at":123},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":125,"slug":126,"title":127,"created_at":128},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":130,"slug":131,"title":132,"created_at":133},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":135,"slug":136,"title":137,"created_at":138},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]