图像取反,结果是正确的,想使用多流并行计算,但是使用Nsight 看调度是串行的,请问问题出在哪呢?
#include"base.h"
// 图像取反
__global__ void Not(uchar*dev_src, int width, int hight)
{
int x = blockDim.x*blockIdx.x + threadIdx.x;
int y = blockDim.y*blockIdx.y + threadIdx.y;
if (x < width && y < hight)
{
dev_src[y*width + x] = 255 - dev_src[y*width + x];
}
}
void test19_function()
{
// 读取图片
Mat img = imread("F://share//yibu//yibu//k_0.bmp");
int img_row = img.rows;
int img_col = img.cols;
// 图像是三通道的
size_t size = img_row*img_col * sizeof(uchar);
uchar*dev_src = 0;
const int streamnum = 3;
cudaStream_t *streams = new cudaStream_t[streamnum];
cudaEvent_t start, stop;
CHECK(cudaEventCreate(&start));
CHECK(cudaEventCreate(&stop));
CHECK(cudaEventRecord(start,0));
CHECK(cudaMalloc((void**)&dev_src, size * 3));
fo