44. 輝達(NVIDIA)開發的 CUDA 是現代 GPU 加速運算的重要技術,下列有關 CUDA 的 敘述,何者錯誤?
(A)CUDA 可讓程式設計者使用 C/C++ 等語言撰寫 GPU 加速程式
(B)CUDA 允許將複雜的數學運算平行化處理,常用於 AI 與圖像處理領域
(C)CUDA 運算核心稱為 thread,可由上層 block 與 grid 管理大量平行任務
(D)使用 CUDA 時,所有資料皆須先經由 CPU 進行處理,才能交由 GPU 執行
統計: A(0), B(2), C(2), D(36), E(0) #3446082
詳解 (共 1 筆)
(A) CUDA 可讓程式設計者使用 C/C++ 等語言撰寫 GPU 加速程式
-
正確。CUDA 確實支援使用 C/C++(以及 Python 等語言透過擴展庫)來編寫 GPU 加速的程式碼。這是 CUDA 的核心功能之一。
(B) CUDA 允許將複雜的數學運算平行化處理,常用於 AI 與圖像處理領域
-
正確。CUDA 的主要用途就是將計算密集型任務(如矩陣運算、深度學習、圖像渲染等)平行化,並在 GPU 上高效執行。AI(如神經網路訓練)和圖像處理(如光線追蹤)是典型應用領域。
(C) CUDA 運算核心稱為 thread,可由上層 block 與 grid 管理大量平行任務
-
正確。CUDA 的執行模型分層為:
-
Thread:最基本的執行單元。
-
Block:由多個 thread 組成,共享同一塊記憶體。
-
Grid:由多個 block 組成,管理整體平行任務。
這是 CUDA 平行架構的標準描述。
-
(D) 使用 CUDA 時,所有資料皆須先經由 CPU 進行處理,才能交由 GPU 執行
-
錯誤。雖然 CUDA 通常需要 CPU(Host)來初始化並協調任務,但並非「所有資料」都需先由 CPU 處理。GPU(Device)可以直接處理資料(例如在顯存中預先載入資料),甚至現代 CUDA 版本支援 GPU 直接存取主記憶體(如 Unified Memory 技術)。此外,部分計算可完全在 GPU 上完成,無需 CPU 介入。
結論:
錯誤的敘述是 (D),因為並非所有資料都必須經過 CPU 處理才能交由 GPU 執行。
答案:D
(A) CUDA 可讓程式設計者使用 C/C++ 等語言撰寫 GPU 加速程式
-
正確。CUDA 確實支援使用 C/C++(以及 Python 等語言透過擴展庫)來編寫 GPU 加速的程式碼。這是 CUDA 的核心功能之一。
(B) CUDA 允許將複雜的數學運算平行化處理,常用於 AI 與圖像處理領域
-
正確。CUDA 的主要用途就是將計算密集型任務(如矩陣運算、深度學習、圖像渲染等)平行化,並在 GPU 上高效執行。AI(如神經網路訓練)和圖像處理(如光線追蹤)是典型應用領域。
(C) CUDA 運算核心稱為 thread,可由上層 block 與 grid 管理大量平行任務
-
正確。CUDA 的執行模型分層為:
-
Thread:最基本的執行單元。
-
Block:由多個 thread 組成,共享同一塊記憶體。
-
Grid:由多個 block 組成,管理整體平行任務。
這是 CUDA 平行架構的標準描述。
-
(D) 使用 CUDA 時,所有資料皆須先經由 CPU 進行處理,才能交由 GPU 執行
-
錯誤。雖然 CUDA 通常需要 CPU(Host)來初始化並協調任務,但並非「所有資料」都需先由 CPU 處理。GPU(Device)可以直接處理資料(例如在顯存中預先載入資料),甚至現代 CUDA 版本支援 GPU 直接存取主記憶體(如 Unified Memory 技術)。此外,部分計算可完全在 GPU 上完成,無需 CPU 介入。
結論:
錯誤的敘述是 (D),因為並非所有資料都必須經過 CPU 處理才能交由 GPU 執行。
答案:D