亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

CUDA線程協作之共享存儲器“__shared__”&&“__syncthreads()”

2019-11-14 09:11:33
字體:
來源:轉載
供稿:網友
在GPU并行編程中,一般情況下,各個處理器都需要了解其他處理器的執行狀態,在各個并行副本之間進行通信和協作,這涉及到不同線程間的通信機制和并行執行線程的同步機制。

共享內存“__share__”

CUDA中的線程協作主要是通過共享內存實現的。使用關鍵字“__share__”聲明共享變量,將使這個變量駐留在共享內存中,該變量具有以下特征:位于線程塊的共享存儲器空間中與線程塊具有相同的生命周期僅可通過塊內的所有線程訪問對于GPU上啟動的每個線程塊,CUDA C編譯器都將創建該變量的一個副本。 線程塊中的每個線程都共享這塊內存,但線程卻無法看到也不能修改其他線程塊的變量副本。 這就使得一個線程塊中的多個線程能夠在計算上進行通信和協作。而且,共享內存緩沖區駐留在物理GPU上,在訪問共享內存時的延遲要遠遠低于訪問普通緩沖區的延遲,使得共享內存的訪問非常高效。

線程同步機制“__syncthreads()”

關鍵字“__share__”只是聲明了共享變量,位于同一個線程塊中的不同線程都可以訪問該變量,如果沒有同步機制,將會發生競態條件 (Race Condition),導致錯誤的運行結果。CUDA確保同步的方法是調用“__syncthreads()”。__syncthreads()將確保線程塊中的每個線程都執行完 __syncthreads()前面的語句后,才會執行下一條語句。以下是CUDA和OpenCV的應用中,繪制一幅圖像,Grid的尺寸大小是60*60,Block的尺寸大小是10*10,在各個線程塊內聲明了一個共享變量sharedMem:
#include "cuda_runtime.h"    #include <highgui.hpp>    using namespace cv;#define DIM 600   //圖像長寬#define PI 3.1415926535897932f  __global__ void kernel(unsigned char *ptr){	// map from blockIdx to pixel position    	int x = threadIdx.x + blockIdx.x * blockDim.x;	int y = threadIdx.y + blockIdx.y * blockDim.y;	int offset = x + y * blockDim.x * gridDim.x;	__shared__  float sharedMem[16][16];	const float period = 128.0f;	sharedMem[threadIdx.x][threadIdx.y] =		255 * (sinf(x*2.0f*PI / period) + 1.0f) *		(sinf(y*2.0f*PI / period) + 1.0f) / 4.0f;	__syncthreads();	ptr[offset * 3 + 0] = 0;	ptr[offset * 3 + 1] = sharedMem[15 - threadIdx.x][15 - threadIdx.y];	ptr[offset * 3 + 2] = 0;}// globals needed by the update routine    struct DataBlock{	unsigned char   *dev_bitmap;};int main(void){	DataBlock   data;	cudaError_t error;	Mat image = Mat(DIM, DIM, CV_8UC3, Scalar::all(0));	data.dev_bitmap = image.data;	unsigned char    *dev_bitmap;	error = cudaMalloc((void**)&dev_bitmap, 3 * image.cols*image.rows);	data.dev_bitmap = dev_bitmap;	dim3    grid(DIM / 10, DIM / 10);	dim3   block(10, 10);	//DIM*DIM個線程塊  	kernel << <grid, block >> > (dev_bitmap);	error = cudaMemcpy(image.data, dev_bitmap,		3 * image.cols*image.rows,		cudaMemcpyDeviceToHost);	error = cudaFree(dev_bitmap);	imshow("__share__ and __syncthreads()", image);	waitKey();}如果線程間不加入__syncthreads()同步機制,同一線程塊內不同線程訪問sharedMem,獲取的結果可能是不一樣的,生成的圖像如下,有散亂的雜點:加入__syncthreads()同步機制,保證了同一線程塊中不同的線程都執行完成__syncthreads()這個集合點之前的部分之后,才繼續往下執行,所以不同的線程訪問sharedMem獲取的結果是一致的,圖像無雜散點,是一個規律的排布:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲a∨片在线观看| 亚洲黄一区二区| 久久久久久久久电影| 亚洲精品电影久久久| 日韩精品日韩在线观看| 热门国产精品亚洲第一区在线| 欧美性xxxxxx| 欧美日韩国产999| 国产精品久久久久久久久久ktv| 久久久久久久久网站| 夜夜躁日日躁狠狠久久88av| 日韩中文字幕精品视频| 亚洲天堂成人在线| 亚洲最新视频在线| 国产精品入口夜色视频大尺度| 欧美在线国产精品| 久久91超碰青草是什么| 久久国产精彩视频| 久久资源免费视频| 亚洲欧洲中文天堂| 久久亚洲精品视频| 国内外成人免费激情在线视频| 久久精品人人爽| 精品久久久久久久久久久| 亚洲肉体裸体xxxx137| 午夜精品国产精品大乳美女| 2020国产精品视频| 91免费在线视频网站| 日韩av在线网站| 亚洲国产精品成人精品| 亚洲国产精品女人久久久| 久久精品成人一区二区三区| 日本国产欧美一区二区三区| 久久精品国产成人精品| 精品国产一区二区三区久久| 55夜色66夜色国产精品视频| 国产人妖伪娘一区91| 另类图片亚洲另类| 日韩电影大片中文字幕| 亚洲精品视频中文字幕| 精品久久久一区二区| 亚洲福利在线看| 亚洲石原莉奈一区二区在线观看| 国产精品久久国产精品99gif| 日本a级片电影一区二区| 亚洲美女在线观看| 欧美午夜女人视频在线| xxav国产精品美女主播| 欧美另类极品videosbest最新版本| 亚洲精品久久久一区二区三区| 亚洲影视九九影院在线观看| 国内精品久久久久久久久| 青青精品视频播放| 91精品国产91久久久久久久久| 国产精品青草久久久久福利99| 成人免费在线视频网址| 蜜臀久久99精品久久久久久宅男| 中文字幕亚洲一区| 成人精品一区二区三区电影免费| 国产自摸综合网| 国产精品久久国产精品99gif| 国产视频精品一区二区三区| 成人性生交大片免费看视频直播| 国产精品久久久久久久久久久不卡| 国内精品久久久久久影视8| 国产日本欧美视频| 成人免费网站在线看| 欧美成在线观看| 日韩视频中文字幕| 91精品在线看| 久久99精品久久久久久噜噜| 国产精品99久久久久久久久| 久久久久久美女| 日韩精品免费在线视频| 久久亚洲精品视频| 亚洲欧洲日产国产网站| 成人乱人伦精品视频在线观看| 午夜精品一区二区三区在线播放| 亚洲一区二区三区在线视频| 欧美成人午夜激情在线| 欧美激情一级欧美精品| 日韩在线观看免费av| 日韩毛片在线看| 国语自产精品视频在线看| 欧美电影免费在线观看| 中文字幕亚洲一区二区三区| 亚洲欧洲av一区二区| 亚洲第一区中文99精品| 在线视频一区二区| 国产91成人在在线播放| 精品成人69xx.xyz| 68精品久久久久久欧美| 亚洲va欧美va国产综合久久| 国产精品一区专区欧美日韩| 欧美裸体男粗大视频在线观看| 在线播放日韩精品| 精品亚洲精品福利线在观看| 日韩成人在线网站| 日本视频久久久| 国产91精品网站| 国产精品国产自产拍高清av水多| 91视频国产精品| 97久久精品人搡人人玩| 91精品国产91久久| 深夜福利亚洲导航| 国产网站欧美日韩免费精品在线观看| 国产精品白丝av嫩草影院| 国产精品h在线观看| 2019中文字幕在线免费观看| 亚洲精品电影久久久| 国产精品一二三视频| 欧美一区三区三区高中清蜜桃| 国产精品啪视频| 91亚洲永久免费精品| 亚洲自拍在线观看| 欧美午夜久久久| 亚洲免费中文字幕| 亚洲精品日韩久久久| 91精品视频免费观看| 自拍亚洲一区欧美另类| 日韩美女中文字幕| 久久视频在线看| 久久国产精品久久久久久久久久| 日韩av在线网| 国产精品v日韩精品| 日本一区二区不卡| 亚洲大胆美女视频| 全亚洲最色的网站在线观看| 国产精品久久久久久中文字| 久久人体大胆视频| 国产精品久久久久久亚洲调教| 91sa在线看| 国产精品国模在线| 国产在线拍偷自揄拍精品| 38少妇精品导航| 日韩av中文字幕在线播放| 久久亚洲精品一区| 欧美日韩激情视频| 欧日韩不卡在线视频| 亚洲精品一区二区网址| 国产激情视频一区| 日韩中文字幕久久| 中文字幕一区二区三区电影| 亚洲欧美成人一区二区在线电影| 欧美裸身视频免费观看| 国产精品美女呻吟| 日韩精品免费一线在线观看| 国产亚洲欧洲黄色| 国产亚洲综合久久| 欧美精品在线极品| 中文字幕免费精品一区| 91在线高清免费观看| 国产成人精品免高潮在线观看| 一本一本久久a久久精品牛牛影视| 精品日本美女福利在线观看| 国产精品青草久久久久福利99| 国产免费一区视频观看免费| 中文字幕久久亚洲| 成人免费视频xnxx.com| 国产日韩精品综合网站| 成人网在线免费看| 成人在线免费观看视视频| 欧美在线视频播放| 亚洲精品自产拍|