一些 GPGPU 的東西

| | 0 Comments| 14:51
Categories:

首先,nVidia CUDA 相關的東西:

  1. nVidia 在官方論壇,提供了一個透過 CUDA 來評量 GPU 使用量的方法,其文章是《6/23 範例: GPU 使用率監測軟體 DIY》。它的基本原理是:

    GPU 為了負載平衡,會把來自不同應用程式送來 kernels 的 block 拆開,然後把這些 blocks 看成同樣優先權去排程執行。我們可透過送出空的小 block(空包彈)混入排程器中,監測單位時間內成功處理掉的空包彈數量,以決定當時 GPU 的負載,再由執行輕量的應用軟體來做定位。

    例如同一顆 GPU 執行一個 oceanFFT 單位時間空包彈處理量是多少、兩個時是多少、三個時是多少…然後把這些數字用 excel 畫出來,就會得出一條直線,從而定出它的使用率。

    不過,這份程式碼應該是 for Linux 的,Heresy 和他不熟。 XD
    另外,現在在 Windows 上應該是已經可以透過 nVidia System Tools 來看 GPU 的使用率了∼所以直接用現成的應該是比較方便就是了。 :p
    但是不知道兩者的原理是否是相同的?

  2. CuPP 是一個用來讓 CUDA 和 C 整合得更好的一個 framework。它透過提供自動的 device/host 記憶體管理、資料結構、特殊的 kernel 呼叫語法(類似 call by reference)等功能,來加強 CUDA。

  3. GPGPU 提供了 ISC(International Conference on Supercomputing) 2009 CUDA 的 Tutorial 投影片,可以到 GPGPU 的網站看看,也包含了一分 OpenCL 和 CUDA 比較的投影片。

再來,是一些其他的東西:

  1. Libra SDK GPU Systems 所開發的一套 C/C 的 SDK,它的用處,是讓程式設計師可以快速地寫出跨 CPU / GPU 的程式。在官方網站上,也有提供 Libra 的範例程式,程式的風格,其實算是有點接近 Matlab 的∼

  2. OpenTK 的全名是 The Open Toolkit,它是一個 .Net Framework 的函式庫,提供了跨平台的 OpenGL、OpenAL、OpenCL 的 wapper;也就是,它整合了圖型、音效、計算三種功能!
    不過讓 Heresy 比較好奇的是…它現在 OpenCL 可以在什麼東西上跑啊?

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *