1. 程式人生 > >《CUDA高效能平行計算》閱讀摘要

《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 基本處理過程 優勢和侷限