簡化並行開發NVIDIA宣布CUDA 4 0

2021-09-08 23:07:05 字數 1451 閱讀 7019

nvidia公司今天宣布了新版gpu通用計算開發包cuda 4.0,主要改進方向是簡化並行程式設計,讓更多開發人員能夠將應用程式移植到gpu平台。

cuda 4.0的三大主要特性包括:

gpudirect 2.0技術gpudirect 1.0主要用於高效能計算集群應用,方便不同節點之間的gpu相互聯絡,而gpudirect 2.0則面向節點內應用,即多gpu併聯系統。同一節點內的多塊gpu可以不經過cpu、住記憶體,直接交換各自視訊記憶體中的資料。

統一虛擬定址(uva)簡化通用計算程式設計中的定址空間設計,開發者不需要再考慮cpu和各個gpu各自的記憶體空間,而是集成為乙個統一的記憶體定址空間,大大簡化並行程式設計。

thrust c++模板高效能基元庫能夠提供一系列開源c++並行演算法和資料結構,這些內容能夠讓c++開發人員更輕鬆的使用cuda程式設計。與使用標準模板庫(stl)以及執行緒構件(tbb)時相比,thrust中並行排序等演算法的速度可提公升5至100倍。

除此之外,cuda 4.0的新特性還包括:

mpi與cuda應用程式相結合。當應用程式發出mpi收發呼叫指令時,例如openmpi等mpi軟體可通過infiniband介面自動收發顯示卡視訊記憶體資料。

gpu多執行緒共享。多個cpu主線程能夠在一顆gpu上共享執行環境。

單cpu執行緒共享多gpu。乙個cpu主線程可以訪問系統內的所有gpu。

全新的npp影象與計算機視覺庫。

新增、改良的功能

visual profiler中的自動效能分析功能

cuda-gdb中的新特性以及新增了對mac os的支援

新增了對c++特性的支援,這些特性包括新建/刪除以及虛擬等功能

新版gpu二進位制反匯程式設計序

多核並行開發

在科學與工程計算 大型資料庫 監控中心等領域,效能需求高於程式設計代價,早在單核 時代,就已經廣泛採用單主機上的多cpu,乃至多主機集群的結構,自然也很早就開始使 用並行程式 有單程序多執行緒的並行,有單機多程序的並行,還有多機多程序的並行。即使是使用多主機集群 cluster 結構的場合,往往也歡...

並行開發基礎

並行開發適合用於分解計算密集型的任務片段,並將它們分配給多個執行緒。有一批資料,需要對每個元素進行相同的操作。該操作是計算密集型,需要耗費一定的時間。parallel型別的 foreach 方法就是專門為此設計的。parallel的foreach可以對一系列值進行並行處理。還有類似的解決方案,就是p...

C 之並行開發

並行開發 加速遊戲 處理器製造商有用他們的cpu在每秒。這看起來是模型cpu在桌面電腦,台式以及手機,cpu將要超過2.5ghz。cpu將要有yue來yue多的表現。在本章我們將要展示如何創造乙個執行緒來執行這個方法game rungame.這將要意味著主要的遊戲迴圈將要執行在它自己本身的執行執行緒...