|
||||
CUDA是NVIDIA開發的一個運算平臺(開發環境),工具集的核心是一個C語言編譯器,其中包括一些擴展C語言,開發庫,一個編譯器和一個試點。 CUDA要求開發者組織好整個都是由GPU的模塊線程所完成的工作,每個模塊可能含有多達512個線程,而這些模塊又會在一個多重處理器裡同時被激活參與運算。
由於同一個模塊裡每個線程之間可以互相通信,因此它們共享16KB的緩存,而這16個區塊之間也存在著聯系,他們被強制使用全速存取,同時還要避免一個線程的數據全部傳到另一個線程裡,這也是CUDA很重要的一部分。
而往往正是上面的問題,開發者必須好好組織線程,因此NVIDIA在開發過程中不斷嘗試加大每個多重處理器的線程和共享內存的大小。
隨著GT200的上市,CUDA 2.0也被正式的提出,雖然目前還是測試版本,打新的開發環境必然有新的特點,相對之前的,GT200包含了多種特性。