[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-cuda-architecture-sms-cores-memory-zh":3,"tags-cuda-architecture-sms-cores-memory-zh":33,"related-lang-cuda-architecture-sms-cores-memory-zh":49,"related-posts-cuda-architecture-sms-cores-memory-zh":53,"series-tools-f9efd9e5-c8e9-4cb1-9f30-443cbdb4d845":90},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":21,"translated_content":10,"views":22,"is_premium":23,"created_at":24,"updated_at":24,"cover_image":11,"published_at":25,"rewrite_status":26,"rewrite_error":10,"rewritten_from_id":27,"slug":28,"category":29,"related_article_id":30,"status":31,"google_indexed_at":32,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":23},"f9efd9e5-c8e9-4cb1-9f30-443cbdb4d845","CUDA 架構怎麼跑：SM、核心、記憶體","\u003Cp>一張現代 GPU，常常塞進上千個 CUDA core。CPU 呢？主流桌機多半只有 8 到 16 顆強力核心。這個差距，直接決定了 CUDA 在平行工作上的表現。\u003C\u002Fp>\u003Cp>講白了，CPU 像少數幾位大廚。GPU 像超大中央廚房。大家同時做同一個步驟，速度就拉開了。這也是 CUDA 讓人又愛又怕的地方。\u003C\u002Fp>\u003Cp>你如果做矩陣運算、影像濾鏡、粒子模擬，或大型 AI 推論，GPU 很容易跑得很滿。你如果做很多分支判斷、流程依賴很重的工作，CPU 反而常常更順。重點不是誰比較猛，是工作型態有沒有對上硬體。\u003C\u002Fp>\u003Ch2>CUDA 硬體到底在幹嘛\u003C\u002Fh2>\u003Cp>\u003Ca href=\"https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-zone\" target=\"_blank\" rel=\"noopener\">CUDA\u003C\u002Fa> 是 NVIDIA 的平行運算平台。它讓你把一般程式丟到 GPU 上跑。這套東西的核心，不是單執行緒低延遲，而是吞吐量。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775197313894-6e3x.png\" alt=\"CUDA 架構怎麼跑：SM、核心、記憶體\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這個差異很重要。CPU 很會處理複雜控制流程。GPU 則很會處理大量重複算術。你可以把它想成兩種完全不同的工廠。前者精細，後者量大。\u003C\u002Fp>\u003Cp>所以，CUDA 不是拿來亂加速的。它適合的是能切成很多小任務的工作。像是向量加總、影像卷積、深度學習 forward pass，這些都很吃平行度。\u003C\u002Fp>\u003Cp>反過來說，如果你的程式有很多 if\u002Felse，而且每條路都不一樣，GPU 可能會閒著。那時候你會看到一個很尷尬的畫面：硬體很貴，卻沒吃飽。\u003C\u002Fp>\u003Cul>\u003Cli>CPU 核心少，但單核能力強。\u003C\u002Fli>\u003Cli>GPU 核心多，擅長重複算術。\u003C\u002Fli>\u003Cli>CUDA 的速度來自平行，不是單執行緒。\u003C\u002Fli>\u003Cli>記憶體存取常比算力更影響結果。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>SM 才是真正的排程單位\u003C\u002Fh2>\u003Cp>GPU 裡最重要的單位，不是你想像中的「核心數」。而是 \u003Ca href=\"https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Finside-cuda-architecture\u002F\" target=\"_blank\" rel=\"noopener\">Streaming Multiprocessor\u003C\u002Fa>，也就是 SM。SM 負責排程、分派工作，也包住一組執行資源。\u003C\u002Fp>\u003Cp>每個 SM 都有\u003Ca href=\"\u002Fnews\u002Fopenclaw-build-train-personal-ai-agent-zh\">自己\u003C\u002Fa>的排程器和局部資源。這代表 GPU 可以把很多 block 分散到不同 SM 上跑。外面看起來像一顆晶片，裡面其實像一群分工很細的工班。\u003C\u002Fp>\u003Cp>這裡有個常被新手誤解的點。你不是真的在「直接控制每顆 core」。你是把 thread block 丟給 GPU，然後由 SM 去接手分配。這也是 CUDA 程式設計跟 CPU 程式設計差很多的原因。\u003C\u002Fp>\u003Cblockquote>“GPUs consist of many simple processing cores organized into streaming multiprocessors (SMs) or compute units, enabling massive parallelism.”\u003C\u002Fblockquote>\u003Cp>這句話來自電腦架構課程的說明。說得很白。SM 是讓大量平行工作變成可管理的基本單位。\u003C\u002Fp>\u003Cp>如果你寫 kernel 時只想著「每個 thread 做一點事」，通常還不夠。你還得想 block 怎麼切、SM 會不會塞滿、occupancy 夠不夠高。這些才是 CUDA 的真功夫。\u003C\u002Fp>\u003Ch2>CUDA core 為什麼看起來很多\u003C\u002Fh2>\u003Cp>SM 裡面有很多 CUDA core。它們負責做實際算術。這些 core 不是縮小版 CPU。它們更像大量簡化版算術單元，專門跑重複操作。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775197318885-f99t.png\" alt=\"CUDA 架構怎麼跑：SM、核心、記憶體\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>所以你才會看到 GPU 核心數很誇張。高階 CPU 可能是 8 或 16 核。資料中心 GPU 卻能有數千個 CUDA core。這不是誰比較高級，而是設計目標不同。\u003C\u002Fp>\u003Cp>CPU 核心追求的是單一工作快完成。GPU 核心追求的是很多工作一起完成。這也解釋了為什麼有些 AI 推論在 GPU 上快很多。因為它本來就是大量矩陣乘法。\u003C\u002Fp>\u003Cp>但別把 core 數量當成全部。GPU core 多，不代表任何程式都會快。你如果資料切得很爛，thread 之間又互相卡住，core 再多也只是看起來很熱鬧。\u003C\u002Fp>\u003Cul>\u003Cli>CPU 核心適合低延遲、複雜控制流程。\u003C\u002Fli>\u003Cli>CUDA core 適合高吞吐量、簡單重複運算。\u003C\u002Fli>\u003Cli>分支太多，GPU 效率會掉。\u003C\u002Fli>\u003Cli>資料形狀對了，GPU 才會真的發揮。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>記憶體階層，才是 CUDA 的地雷區\u003C\u002Fh2>\u003Cp>很多人以為 CUDA 比的是算力。其實不然。很多時候，真正決定快慢的是記憶體\u003Ca href=\"\u002Fnews\u002Fsam-altman-exit-openai-board-analysis-zh\">怎麼走\u003C\u002Fa>。你如果一直去慢的地方拿資料，再多核心都會等到發呆。\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Funderstanding-the-cuda-memory-hierarchy\u002F\" target=\"_blank\" rel=\"noopener\">NVIDIA 的記憶體階層說明\u003C\u002Fa>把 GPU 記憶體分成 registers、shared memory、global memory。Registers 最快，但每個 thread 能用很少。Shared memory 很快，而且同一個 SM 內可以共用。Global memory 容量大，但延遲也高。\u003C\u002Fp>\u003Cp>這就是 CUDA 最麻煩的地方。你不只是在寫演算法。你還在管理資料流。很多 kernel 慢，不是因為算錯，而是因為資料一直在 global memory 來回跑。\u003C\u002Fp>\u003Cp>所以實戰上有個很土但很有用的規則。暫存值放 registers。附近 threads 會重用的資料放 shared memory。大資料集才放 global memory。這種分層思維，會直接影響你的效能。\u003C\u002Fp>\u003Cul>\u003Cli>Registers 最快，但容量很小。\u003C\u002Fli>\u003Cli>Shared memory 適合同一個 SM 內協作。\u003C\u002Fli>\u003Cli>Global memory 最大，但也最慢。\u003C\u002Fli>\u003Cli>少碰 global memory，通常就少踩雷。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>你如果做影像處理，常會看到 \u003Ca href=\"\u002Fnews\u002Factionparty-multi-subject-action-binding-zh\">ti\u003C\u002Fa>le-based 的寫法。原因很簡單。先把一小塊資料搬進 shared memory，再讓很多 thread 重用。這比每個 thread 都去抓 global memory 好太多。\u003C\u002Fp>\u003Ch2>為什麼 GPU 能贏 CPU\u003C\u002Fh2>\u003Cp>CUDA 不是萬能。它只在特定情況下很強。條件通常有三個。第一，工作能切平行。第二，運算步驟很重複。第三，資料存取夠規律。\u003C\u002Fp>\u003Cp>這也是為什麼 AI 訓練、科學模擬、影片編碼，常常愛用 GPU。這些工作有大量可重複的數學運算。CPU 當然也能做，但它更像是在用精密工具處理少量複雜任務。\u003C\u002Fp>\u003Cp>你可以把差異看成兩種硬體哲學。CPU 重視每個核心的靈活度。GPU 重視大量核心一起動。前者像少數高手。後者像整隊工人。當工作量夠大時，後者會很有感。\u003C\u002Fp>\u003Cul>\u003Cli>CPU：8 到 16 顆強核心很常見。\u003C\u002Fli>\u003Cli>GPU：數千個 CUDA core 很常見。\u003C\u002Fli>\u003Cli>CPU：適合分支多、流程複雜的程式。\u003C\u002Fli>\u003Cli>GPU：適合大批量、同質化的資料運算。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果你想看更完整的程式模型，可以接著看 \u003Ca href=\"https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-zone\" target=\"_blank\" rel=\"noopener\">CUDA 官方文件\u003C\u002Fa>。你一旦理解 thread、block、grid，很多硬體圖就不會再像天書。\u003C\u002Fp>\u003Cp>也可以順手看一下競品。\u003Ca href=\"https:\u002F\u002Fwww.amd.com\u002Fen\u002Fproducts\u002Fsoftware\u002Frocm.html\" target=\"_blank\" rel=\"noopener\">AMD ROCm\u003C\u002Fa> 走的是 AMD 路線。\u003Ca href=\"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Ftools\u002Foneapi\u002Foverview.html\" target=\"_blank\" rel=\"noopener\">Intel oneAPI\u003C\u002Fa> 則想把 CPU、GPU、加速器一起管。只是老實說，CUDA 的工具鏈還是最成熟。\u003C\u002Fp>\u003Ch2>背景脈絡：CUDA 為什麼一直重要\u003C\u002Fh2>\u003Cp>CUDA 不是今天才冒出來。NVIDIA 很早就把 GPU 從圖形處理器，推向通用運算平台。這件事後來剛好接上深度學習的浪潮，結果大家現在幾乎都離不開 GPU。\u003C\u002Fp>\u003Cp>尤其在 LLM 時代，訓練和推論都很吃矩陣運算。模型參數一大，CPU 就很容易卡住。GPU 的大量平行設計，剛好對上這種工作型態。說真的，這就是硬體和演算法剛好對味。\u003C\u002Fp>\u003Cp>另一個現實是，NVIDIA 在軟體生態做得很深。從 \u003Ca href=\"https:\u002F\u002Fdeveloper.nvidia.com\u002Fcudnn\" target=\"_blank\" rel=\"noopener\">cuDNN\u003C\u002Fa> 到各種 profiler、compiler、library，整套工具讓開發者比較容易把 GPU 用滿。這也是它在 AI 領域站得很穩的原因。\u003C\u002Fp>\u003Cp>但這不代表別人沒機會。AMD 和 Intel 都在補工具鏈。雲端服務商也在做自己的加速方案。只是就現階段來看，CUDA 還是很多團隊的第一選擇。\u003C\u002Fp>\u003Ch2>結尾：先看資料流，再看算力\u003C\u002Fh2>\u003Cp>如果你要把 CUDA 用好，我的建議很直接。先看你的資料怎麼流，再看你的算力夠不夠。很多人一開始只看 GPU 有幾個 core，結果寫出來的 kernel 還是慢。\u003C\u002Fp>\u003Cp>接下來最值得問的問題不是「GPU 有多快」。而是「我的演算法能不能切成很多一樣的工作」。如果答案是可以，那 CUDA 很值得投入。反之，就別硬上，CPU 可能更省事。\u003C\u002Fp>\u003Cp>我自己的判斷是，接下來幾年，懂 memory hierarchy 的人會更吃香。因為真正拉開差距的，常常不是 FLOPS，而是資料有沒有被你餵對地方。這點很現實，也很殘酷。\u003C\u002Fp>","CUDA GPU 把工作拆給 SM、數千個核心和分層記憶體。這篇用台灣開發者看得懂的方式，拆開它為何特別適合平行運算。","oboe.com","https:\u002F\u002Foboe.com\u002Flearn\u002Fintroduction-to-cuda-programming-1c8n5wz\u002Fcuda-architecture-introduction-to-cuda-programming-1",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775197313894-6e3x.png",[13,14,15,16,17,18,19,20],"CUDA","GPU","SM","CUDA core","記憶體階層","平行運算","NVIDIA","LLM","zh",0,false,"2026-04-03T06:21:37.918394+00:00","2026-04-03T06:21:37.791+00:00","done","ad205c69-eb19-4662-a551-3d0bc27dcf55","cuda-architecture-sms-cores-memory-zh","tools","9f973836-4d14-4435-b3b7-fb180e57b5fc","published","2026-04-07T07:41:10.918+00:00",[34,35,37,40,42,44,46,47],{"name":17,"slug":17},{"name":15,"slug":36},"sm",{"name":38,"slug":39},"Nvidia","nvidia",{"name":14,"slug":41},"gpu",{"name":13,"slug":43},"cuda",{"name":20,"slug":45},"llm",{"name":18,"slug":18},{"name":16,"slug":48},"cuda-core",{"id":30,"slug":50,"title":51,"language":52},"cuda-architecture-sms-cores-memory-en","CUDA Architecture Explained: SMs, Cores, Memory","en",[54,60,66,72,78,84],{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":29},"d058a76f-6548-4135-8970-f3a97f255446","why-gemini-api-pricing-is-cheaper-than-it-looks-zh","為什麼 Gemini API 定價其實比看起來更便宜","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778869845081-j4m7.png","2026-05-15T18:30:25.797639+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":29},"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":67,"slug":68,"title":69,"cover_image":70,"image_url":70,"created_at":71,"category":29},"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":73,"slug":74,"title":75,"cover_image":76,"image_url":76,"created_at":77,"category":29},"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":79,"slug":80,"title":81,"cover_image":82,"image_url":82,"created_at":83,"category":29},"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":85,"slug":86,"title":87,"cover_image":88,"image_url":88,"created_at":89,"category":29},"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",[91,96,101,106,111,116,121,126,131,136],{"id":92,"slug":93,"title":94,"created_at":95},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"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":107,"slug":108,"title":109,"created_at":110},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"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":117,"slug":118,"title":119,"created_at":120},"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":122,"slug":123,"title":124,"created_at":125},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":127,"slug":128,"title":129,"created_at":130},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":132,"slug":133,"title":134,"created_at":135},"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":137,"slug":138,"title":139,"created_at":140},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]