《CUDA高效能平行計算》閱讀摘要
這本書從例項出發,並詳細介紹了開發環境的配置,容易上手,挺適合初學者看的。
- ch1
CUDA執行環境以及兩個序列運算例程distV1和distV2 - ch2
CUDA並行程式設計模式介紹 - ch3
一維陣列並行化方法
__device__關鍵字:函式僅在裝置上呼叫和執行
__global__關鍵字:函式在host端呼叫,在裝置上執行
__host__關鍵字:預設,在host呼叫和執行
- ch4
二維執行緒網格的定義與程式設計,距離計算例程dist_2D
採用OpenGL框架進行互動的應用:
flashlight:根據參考點的距離分配RGB數值
stablity:求解一階常微分方程並可視化顯示 - ch5
模板與共享記憶體
共享記憶體用於同一執行緒塊下不同執行緒的資料互動,同一執行緒塊內48KB
有限差分法在一維網格中計算導數
有限差分法求解二維拉不拉斯方程
heat_2D:計算溫度穩態分佈並通過影象互動顯示的應用
sharpen:共享記憶體實現影象銳化 - ch6
歸約與原子操作,考慮所有執行緒間的相互關係
parallel_dot:並行化的點乘操作
centroid_2d: 並行化計算圖形質心 - ch7
三維資料互動
(不是很感興趣沒怎麼看) - ch8
cuda中現有的庫
Trust庫:基本模板庫
cuRAND庫:隨機數產生
NPP庫:高效能原語庫
cuSOLVER和cuBLAS:線性代數庫
cuDNN庫:深度學習庫
ArrayFire庫:高效能平行計算庫
相關推薦
《CUDA高效能平行計算》閱讀摘要
這本書從例項出發,並詳細介紹了開發環境的配置,容易上手,挺適合初學者看的。 ch1 CUDA執行環境以及兩個序列運算例程distV1和distV2 ch2 CUDA並行程式設計模式介紹 ch3 一維陣列並行化方法 __device_
【平行計算-CUDA開發】GPGPU OpenCL/CUDA 高效能程式設計的10大注意事項
1.展開迴圈 如果提前知道了迴圈的次數,可以進行迴圈展開,這樣省去了迴圈條件的比較次數。但是同時也不能使得kernel程式碼太大。 迴圈展開程式碼例子: 1 #include<iostream> 2 using namespace std; 3 4 int main(){
CUDA實現矩陣相加的平行計算
(一)目的 熟悉基本的CUDA程式架構以及如何呼叫相應的API進行CUDA程式設計 (二)內容 完成矩陣相加的並行程式的實現(不用share memory實現) 要求: 實現2個矩陣(32*32)的相加,M矩陣的初始值全為2,N矩陣的初始值全為5。同時用C
CUDA平行計算 | 執行緒模型與記憶體模型
文章目錄 前言 CUDA執行緒模型(如何組織執行緒) CUDA記憶體模型(瞭解不同記憶體優缺點,合理使用) 前言 CUDA(Compute Unified Device Architecture
【平行計算-CUDA開發】淺談GPU平行計算新趨勢
隨著GPU的可程式設計性不斷增強,GPU的應用能力已經遠遠超出了圖形渲染任務,利用GPU完成通用計算的研究逐漸活躍起來,將GPU用於圖形渲染以外領域的計算成為GPGPU(General Purpose computing on graphics proces
【高效能】Matlab的平行計算之parfor
當matlab計算量很大,重複獨立的迴圈計算很多的時候,我們可以使用matlab的平行計算,這裡我先試驗了parfor平行計算。以下程式碼僅適合新版的matlab,改編自《實戰matlab之並行程式設計》。 啟動程式碼: function [pool] = startma
【平行計算-CUDA開發】FPGA 設計者應該學習 OpenCL及愛上OpenCL的十個理由
作為OpenCL CodeBench的開發者,Amdahl軟體公司始終堅信OpenCL能夠帶來巨大的利益,也從未懷疑過OpenCL標準的成功性。現在人們對計算效能的要求越來越高,在不超過發熱量和功耗的限制範圍,我們相信多核和多核系統提供了一個可行的解決方法。對於OpenCL使用者來說,OpenCL標準的優
【平行計算-CUDA開發】CUDA軟體架構與Nvidia硬體對應關係
硬體基本架構 實際上在nVidia的GPU裡,最基本的處理單元是所謂的SP(Streaming Processor),而一顆nVidia的GPU裡,會有非常多的SP可以同時做計算;而數個SP會在附加一些其他單元,一起組成一個SM(Streaming Multiprocessor)。幾個SM則會在組成所
【高效能】Matlab的平行計算之spmd
parfor的並行思想是把同一批資料分給for迴圈中不同的迴圈體,進行處理。spmd的思想則是不同的資料,用同一個程式處理。當然這個程式內部可以編寫針對不同情況的處理程式碼。spmd的內部實現程式碼限制很少,spmd的靈活性比parfor要高得多。 spmd的使用方法如下:
【平行計算-CUDA開發】OpenACC與OpenHMPP
在西雅圖超級計算大會(SC11)上釋出了新的基於指令的加速器並行程式設計標準,既OpenACC。這個開發標準的目的是讓更多的程式設計人員可以用到GPU計算,同時計算結果可以跨加速器使用,甚至能用在多核CPU上。出於顯而易見的原因,NVIDIA在大力推廣和支援OpenACC。
【平行計算-CUDA開發】從零開始學習OpenCL開發(一)架構
本文將作為我《從零開始做OpenCL開發》系列文章的第一篇。 1 異構計算、GPGPU與OpenCL OpenCL是當前一個通用的由很多公司和組織共同發起的多CPU\GPU\其他晶片 異構計算(heterogeneous)的標準,它是跨平臺的。旨在充分利用G
平行計算-CUDA開發:淺談GPU平行計算新趨勢
前幾天偶然之間與同事談論到ROM,RAM,FLASH一些知識,而突然之間當我們去說這些英文單詞的
【計算機視覺】【平行計算與CUDA開發】GPU硬解碼---CUVID
問題描述:專案中,需要對高清監控視訊分析處理,經測試,其解碼過程所佔CPU資源較多,導致整個系統處理效率不高,解碼成為系統的瓶頸。 解決思路: 利用GPU解碼高清視訊,降低解碼所佔用CPU資源,加速解碼過程。 一、OpenCV中的硬解碼 OpenCV2.4.6中,
CUDA(9)之平行計算之CUDA
摘要 本文主要談談CUDA程式設計的一些特點。 1. CUDA擅長做什麼? CUDA主要擅長可並行性的計算,以及浮點計算。換句話說,如果你的程式可並行化的程度較高,或者需要大量的浮點運算,那麼你的程式如果在GPU上執行的話,可以有比較顯然的效能的提升。 2.
Articulated pose estimation with flexible mixtures-of-parts 論文閱讀摘要
一、簡介 這篇論文是2011年的時候發表的,可以推測這個工作起碼在2009年底左右就開始了,也就說是屬於比較早期的人體姿態估計的工作。這個文章有程式碼github上的,程式碼。文章主要採用的是傳統方法做的,沒有使用到深度學習,也不需要使用GPU,可以說速度上已經
Going Deeper with Convolutions閱讀摘要
論文連結:Going deeper with convolutions 程式碼下載: Abstract We propose a deep convolutional neural network architecture codenamed Incept
opencv 平行計算函式 parallel_for_的使用
opencv 平行計算函式 parallel_for_ 前面的話 在使用opencv的過程中,對圖片的處理計算量還是很大的,所以在實施執行的程式中如何高效的計算會節省很多時間。現有的方法有很多,如OpenMp,TBB,OpenCL,當然還有Nvidia的CUDA。 但是OpenMP在wi
利用CountDownLatch實現平行計算
import java.util.concurrent.CountDownLatch; /** * @Author pipi * @Date 2018/10/15 13:56 **/ public class ParallelComputing { private int[] nums;
C++AMP 遇見C++ AMP 在GPU上做平行計算
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
平行計算框架
概念 框架與引擎 批處理框架 流處理框架 混合處理框架 MapReduce Hadoop 基本處理過程 優勢和侷限