數位生活主圖

Nvidia GPU新應用,CUDA與PhysX簡介

加到網路書籤: 加入Furl網路書籤 加入HEMiDEMi網路書籤 加入MyShare網路書籤 加入funP

CNET 特約作者/ J.C 2008/08/27 10:00

許多人沒有想過現在的顯示晶片內部會如此複雜。你知道嗎?目前新一代的顯示晶片都比目前主流級中央處理器還來得複雜,以提供空前的顯示效能。在不斷追求效能下,顯示晶片的設計也變得不同,例如更多的可程式化能力,讓顯示晶片有了其它的應用方式。


▲ 在特定的應用領域中,GPU的運算能力比一般處理器強悍許多

目前新一代的顯示晶片幾乎都是採用Unified Shader的設計,即Pixel Shader與Vertex Shader不再是固定數量而是可變的,加上可程式化的特性與為數眾多的串流處理器(SP)架構,擁有良好的平行運算能力

CUDA 2.0

Nvidia在推出 GeForce 8系列顯示晶片時,便是使用眾多的串流處理器來提供高速的顯示效能。同時他們也提出了CUDA(Compute Unified Device Architecture)的架構,可以讓顯示核心運用在特別的計算模式下。


▲ 工程或科學等計算領域最能發揮繪圖處理器的資料運算能力

目前CUDA的規格已經進入 2.0版,而在之前GTX 200系列產品介紹中,也提到它的二種運用方式,除了顯示功能外,就是資料平行計算能力,而要充分利用這個計算能力,就是要利用CUDA 2.0。利用顯示晶片的高度運算能力來做一些特別的應用,有點像是原本中央處理器負責的工作,因此被稱為GPGPU。

顯示晶片特殊的平行運算能力,特別適合用於SIMD(Single Instruction Multiple Data)的資料運算,就現階段的運用來看,就是以工程、模擬等運算為主,像是地質、石油探堪、天文、化學、生命科學…等等。


▲ CUDA 2.0支援繪圖處理器與多核心中央處理器

當有大量的資料想要運算時,傳統的中央處理器效能不敷使用時,可以利用CUDA架構來做運算。然而顯示晶片畢竟不是中央處理器,想要利用它來做非顯示計算的工作就得透過特別的方式,應用程式的撰寫與編譯都要經過處理,才能把工作丟到顯示晶片上做運算。

簡單來說,以C語言寫的應用程式,需要先做一些修改,像以前用許多迴圈做矩陣運算的方式,就可以改用具平行化計算的指令,減少迴圈程式。再利用支援CUDA的編譯器,如Nvidia提供的NVCC,就能將程式編譯成適合中央處理器與繪圖處理器運算(PTX Code)的二種碼,以便運用在電腦上。

在CUDA 2.0上,程式將可同時支援多核心的中央處理器及運算核心數量眾多的繪圖處理器上。

除了讓開發者與使用者可以利用顯示卡來運算外,Nvidia還提供特別的Tesla計算系統(類似伺服器的產品),例如Tesla S1075,就擁有四顆Telsa處理器(GTX 200等級),提供驚人的計算能力。


▲ 視訊格式轉換應該是個人用應CUDA的好方式,此軟體為Badaboom Pro。

雖然新一代的繪圖處理器擁有強大的計算能力,對於一般的使用者來說,除了顯示功能外,利用它平行計算能力的機會實在不太多,就目前的應用來看,視訊處理--特別是不同格式轉換,如Full HD轉成手機適用格式的應用--可能是較好的應用方式,其它都還是以專業應用為主。

物理運算(Physics)


▲ GTX280與四核心處理器物理運算能力比較

在顯示效能大幅提升之後,電腦遊戲畫面更加逼真,但是大家一定還覺得不夠真實!究其原因之一,就是沒有考慮到真實世界中的物理特性 (Physics)。所謂的物理特性簡單來說,就是不同物體間的互動性,例如不同材質的碰撞、扭曲、變形…等不同交互作用。

想要讓遊戲世界中的物件也有這些特性並不難,困難的是計算能力,試想若一個場景中所有的物件都考慮相互間的影響力,這需要多龐大的計算能力!

在繪圖顯示器計算能力提升後,各家顯示晶片與遊戲軟體開發商開始考慮加上物理運算能力了,Nvidia為此併購了以PhysX技術知名的Ageia,並在新一代繪圖處理器中入支援PhysX技術。目前Nvidia GeForce 8以後的顯示晶片都可以安裝PhysX驅動程式,來支援物理運算效果。


▲ PhysX現在支援CUDA、x86處理器與Ageia PPU處理器

以前Ageia推出的專用物理運算處理器(PPU),需要另外安裝介面卡,現在這個功能已經整合在繪圖顯示晶片主,利用CUDA來做物理運算。就整個 PhysX驅動程式支援下,它不僅可以利用繪圖處理器CUDA外,還可能利用x86/Cell處理器及Ageia PPU處理器等不同的硬體,差別在於提供不同的運算效能。


▲ 加上ModPack之後,Unreal Tournament III的畫面出現更多能互動的物件

在支援物理運算模式下,液態、布料、柔軟性物體…等特性都能表現很好,更接近真實世界的表現。不過硬體與驅動程式支援下,最重要的還是應用軟體,特別是遊戲軟體的支援,否則也無法發揮其特色。

PhysX早已擁有許多遊戲的支援,數量也正在持續增加當中,今年下半年將有許多支援PhysX的遊戲推出。許多款本來沒有支援PhysX的遊戲,也推出更新版本或是支援的套件。例如原本用子彈、火箭筒千年打不壞的建築物或是招牌,在新版本之中,就有不同受損程度或損壞而落下的效果。


▲ Nurien人物身上的衣物更具真實感

其實物理運算帶給使用者的好處並不是在於效能又提高了多少,而是在於顯示的畫面更加真實,視覺效果加分,也讓遊戲更加有趣。顯示卡的戰場已經漸漸轉到物理運算的遊戲效果了,您怎能不早點開始關心呢?

    返回硬派技術 


icn_balloon_154x48 對本則報導有任何意見或看法嗎?歡迎留言

留下你的意見(提醒:請開啟cookie,網頁會自動儲存您寫的內容。)
會員 * 帳號:
* 密碼:
  1. 欄位可選填,若全不填,則顯示為「匿名」。
  2. 不支援html語法
非會員 姓名:
E-Mail:
Blog:
  重新載入驗證碼
* 驗證碼: 記住我






CNET Towerboard 廣告