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

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

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

2019-11-11 07:55:04
字體:
來源:轉載
供稿:網友
在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
国产精品黄色av| 欧美丰满少妇xxxxx做受| 国产精品久久久久久久9999| 欧美黑人极品猛少妇色xxxxx| 亚洲品质视频自拍网| 色综合久久久久久中文网| 国产成人精品久久二区二区91| 国内精品免费午夜毛片| 81精品国产乱码久久久久久| 欧美激情久久久久| 国产精自产拍久久久久久蜜| 欧美性生交xxxxxdddd| 欧洲美女免费图片一区| 欧美另类高清videos| 日韩a**站在线观看| 操91在线视频| 欧美极品美女电影一区| 国产日产久久高清欧美一区| 成年人精品视频| 国产99久久精品一区二区| 91九色国产视频| 日韩欧美一区二区三区久久| 亚洲欧美激情四射在线日| 成人激情视频在线| 97婷婷涩涩精品一区| 久久影院模特热| 欧美日韩中文在线观看| 中文字幕欧美日韩精品| 欧美极品xxxx| 国产精品久久久久久亚洲调教| 国产一区二区黑人欧美xxxx| 国产成+人+综合+亚洲欧美丁香花| 法国裸体一区二区| 久久伊人色综合| 日韩在线播放av| 亚洲视频电影图片偷拍一区| 91久久精品国产91性色| 成人在线视频福利| 91久久精品在线| 日韩高清人体午夜| 精品久久久国产| 3344国产精品免费看| 欧美高清视频免费观看| 中文字幕国产精品| 亚洲欧美中文日韩v在线观看| 97激碰免费视频| 538国产精品一区二区在线| 欧美精品xxx| 久久香蕉频线观| 51ⅴ精品国产91久久久久久| 欧美自拍大量在线观看| 午夜精品国产精品大乳美女| 亚洲欧美日韩爽爽影院| 成人做爰www免费看视频网站| 亚洲国产成人精品电影| 国产精品久久久亚洲| 亚洲二区在线播放视频| 米奇精品一区二区三区在线观看| 亚洲免费电影在线观看| 日韩精品视频在线免费观看| 亚洲人成免费电影| 91国产中文字幕| 欧美日韩亚洲国产一区| 国产综合香蕉五月婷在线| 久久这里有精品| 国产视频福利一区| 韩国欧美亚洲国产| 久久69精品久久久久久久电影好| 国产91精品久久久久久| 国内揄拍国内精品少妇国语| 国产精品一区二区三| 国产综合在线看| 欧美视频一区二区三区…| 亚洲欧美成人一区二区在线电影| 日韩av网站大全| 精品久久久一区| 欧美日韩国产一区二区三区| 欧美日韩国产中文字幕| 97色在线观看| 国产成+人+综合+亚洲欧洲| 日本精品视频在线| xx视频.9999.com| 成人免费在线视频网址| 欧美亚洲日本网站| 国产91免费观看| 久久久久久91香蕉国产| 亚洲香蕉成人av网站在线观看| 精品少妇一区二区30p| 国产日韩精品视频| 亚洲黄页视频免费观看| 在线播放精品一区二区三区| 亚洲成人激情在线| 亚洲综合精品一区二区| 日韩的一区二区| 久久久久久久久久久成人| 欧美电影在线观看| 久久99亚洲精品| 国产欧美精品va在线观看| 国产成+人+综合+亚洲欧美丁香花| 欧美在线视频观看免费网站| 成人黄色大片在线免费观看| 欧美性猛交xxxxx水多| 欧美在线视频在线播放完整版免费观看| 国产主播喷水一区二区| 日韩欧美中文字幕在线播放| 高清一区二区三区日本久| 一个人看的www欧美| 亚洲性日韩精品一区二区| 视频一区视频二区国产精品| 亚洲欧美在线免费观看| 综合欧美国产视频二区| 国产欧美最新羞羞视频在线观看| 亚洲人成在线观看| 国产日韩欧美一二三区| 懂色av中文一区二区三区天美| 日韩精品亚洲视频| 欧美亚洲伦理www| 国产欧美精品一区二区| 欧美激情综合色综合啪啪五月| 欧美日本国产在线| 国产视频久久久| 国产精品老牛影院在线观看| 青青草原成人在线视频| 久久久999国产| 亚洲国产精品va在线观看黑人| 91中文字幕在线观看| 亚洲精品视频久久| 久久久精品日本| 国产精品视频一区国模私拍| 91国产中文字幕| 国产精品一区二区久久久| 一个人www欧美| 日韩精品欧美国产精品忘忧草| 亚洲资源在线看| 国产精品看片资源| 日本一欧美一欧美一亚洲视频| 日本一区二区三区在线播放| 亚洲国产精品热久久| 亚洲天堂视频在线观看| 欧洲中文字幕国产精品| 91av在线播放| 国产成人精品久久二区二区91| 亚洲精品欧美日韩专区| 97精品国产97久久久久久| 亚洲欧洲偷拍精品| 亚洲精品视频在线播放| 国产精品直播网红| 日韩在线观看免费av| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品视频自在线| 国产精品视频精品视频| 色999日韩欧美国产| 日韩成人免费视频| 97热在线精品视频在线观看| 最近2019免费中文字幕视频三| 国产精品久久久久一区二区| 欧美猛少妇色xxxxx| 国产欧美一区二区三区在线| 91精品国产99久久久久久| 夜夜躁日日躁狠狠久久88av| 国产精品99久久久久久人| 久久精品国产清自在天天线| 亚洲午夜av电影| 久久久精品欧美|