当前位置: 首页 > news >正文

统计局宣传工作总结 网站建设中国核工业二三建设有限公司待遇

统计局宣传工作总结 网站建设,中国核工业二三建设有限公司待遇,上海网站设计网页设计,简述网站建设基本流程CUDA程序错误检测 所有CUDA的API函数都有一个类型为cudaError_t的返回值#xff0c;代表了一种错误信息#xff1b;只有返回cudaSuccess时#xff0c;才是成功调用。 cudaGetLastError()用来检测核函数的执行是否出错cudaGetErrorString()输出错误信息 #include stdi…CUDA程序错误检测 所有CUDA的API函数都有一个类型为cudaError_t的返回值代表了一种错误信息只有返回cudaSuccess时才是成功调用。 cudaGetLastError()用来检测核函数的执行是否出错cudaGetErrorString()输出错误信息 #include stdio.h #include cuda_runtime.h #include device_launch_parameters.h #includemath.h #include malloc.h #include opencv2/opencv.hpp #include stdlib.h#define BLOCK_SIZE 1//图像卷积 GPU __global__ void sobel_gpu(unsigned char* in, unsigned char* out, const int Height, const int Width) {int x blockDim.x * blockIdx.x threadIdx.x;int y blockDim.y blockIdx.y threadIdx.y;int index y * Width x;int Gx 0;int Gy 0;unsigned char x0, x1, x2, x3, x4, x5, x6, x7, x8;if (x0 x(Width-1) y0 y(Height-1)){x0 in[(y - 1)*Width (x - 1)];x1 in[(y - 1)*Width (x)];x2 in[(y - 1)*Width (x 1)];x3 in[(y)*Width (x - 1)];x5 in[(y)*Width (x 1)];x6 in[(y 1)*Width (x - 1)];x7 in[(y 1)*Width (x)];x8 in[(y 1)*Width (x 1)];Gx (x0 2 * x3 x6) - (x2 2 * x5 x8);Gy (x0 2 * x1 x2) - (x6 2 * x7 x8);out[index] (abs(Gx) abs(Gy)) / 2;} }int main() {cv::Mat src;src cv::imread(complete004.jpg);cv::Mat grayImg,gaussImg;cv::cvtColor(src, grayImg, cv::COLOR_BGR2GRAY);cv::GaussianBlur(grayImg, gaussImg, cv::Size(3,3), 0, 0, cv::BORDER_DEFAULT);int height src.rows;int width src.cols;//输出图像cv::Mat dst_gpu(height, width, CV_8UC1, cv::Scalar(0));//GPU存储空间int memsize height * width * sizeof(unsigned char);//输入 输出unsigned char* in_gpu;unsigned char* out_gpu;cudaMalloc((void**)in_gpu, memsize);cudaMalloc((void**)out_gpu, memsize);cudaError_t error_code;dim3 threadsPreBlock(BLOCK_SIZE, BLOCK_SIZE);dim3 blocksPreGrid((width threadsPreBlock.x - 1)/threadsPreBlock.x, (height threadsPreBlock.y - 1)/threadsPreBlock.y);cudaMemcpy(in_gpu, gaussImg.data, memsize, cudaMemcpyHostToDevice);sobel_gpu blocksPreGrid, threadsPreBlock (in_gpu, out_gpu, height, width);error_code cudaGetLastError();printf(Error: %s\n, cudaGetErrorString(error_code));printf(FILE: %s\n, __FILE__);printf(LINE: %d\n, __LINE__);printf(Error code: %d\n, error_code);cudaMemcpy(dst_gpu.data, out_gpu, memsize, cudaMemcpyDeviceToHost);cv::imwrite(dst_gpu_save.png, dst_gpu);//cv::namedWindow(src, cv::WINDOW_NORMAL);cv::imshow(src, src);cv::imshow(dst_gpu, dst_gpu);cv::waitKey();cudaFree(in_gpu);cudaFree(out_gpu);return 0; } 樊哲勇大牛的检测CUDA运行时错误的宏函数 #pragma once #includestdio.h#define CHECK(call) \ do \ { \const cudaError_t error_code call; \if (error_code ! cudaSuccess) \{ \printf(CUDA Error:\n); \printf( File: %s\n, __FILE__); \printf( Line: %d\n,__LINE__); \printf( Error code: %d\n,error_code); \printf( Error text: %s\n, cudaGetErrorString(error_code)); \exit(1); \} \ } while (0) 采用检测CUDA运行时错误的宏函数 #include stdio.h #include cuda_runtime.h #include device_launch_parameters.h #includemath.h #include malloc.h #include opencv2/opencv.hpp #include stdlib.h#include error.cuh#define BLOCK_SIZE 1//图像卷积 GPU __global__ void sobel_gpu(unsigned char* in, unsigned char* out, const int Height, const int Width) {int x blockDim.x * blockIdx.x threadIdx.x;int y blockDim.y blockIdx.y threadIdx.y;int index y * Width x;int Gx 0;int Gy 0;unsigned char x0, x1, x2, x3, x4, x5, x6, x7, x8;if (x0 x(Width-1) y0 y(Height-1)){x0 in[(y - 1)*Width (x - 1)];x1 in[(y - 1)*Width (x)];x2 in[(y - 1)*Width (x 1)];x3 in[(y)*Width (x - 1)];x5 in[(y)*Width (x 1)];x6 in[(y 1)*Width (x - 1)];x7 in[(y 1)*Width (x)];x8 in[(y 1)*Width (x 1)];Gx (x0 2 * x3 x6) - (x2 2 * x5 x8);Gy (x0 2 * x1 x2) - (x6 2 * x7 x8);out[index] (abs(Gx) abs(Gy)) / 2;} }int main() {cv::Mat src;src cv::imread(complete004.jpg);cv::Mat grayImg,gaussImg;cv::cvtColor(src, grayImg, cv::COLOR_BGR2GRAY);cv::GaussianBlur(grayImg, gaussImg, cv::Size(3,3), 0, 0, cv::BORDER_DEFAULT);int height src.rows;int width src.cols;//输出图像cv::Mat dst_gpu(height, width, CV_8UC1, cv::Scalar(0));//GPU存储空间int memsize height * width * sizeof(unsigned char);//输入 输出unsigned char* in_gpu;unsigned char* out_gpu;cudaMalloc((void**)in_gpu, memsize);cudaMalloc((void**)out_gpu, memsize);dim3 threadsPreBlock(BLOCK_SIZE, BLOCK_SIZE);dim3 blocksPreGrid((width threadsPreBlock.x - 1)/threadsPreBlock.x, (height threadsPreBlock.y - 1)/threadsPreBlock.y);cudaMemcpy(in_gpu, gaussImg.data, memsize, cudaMemcpyHostToDevice);sobel_gpu blocksPreGrid, threadsPreBlock (in_gpu, out_gpu, height, width);CHECK(cudaMemcpy(dst_gpu.data, out_gpu, memsize*10, cudaMemcpyDeviceToHost));//增大size值 引起报错cv::imwrite(dst_gpu_save.png, dst_gpu);//cv::namedWindow(src, cv::WINDOW_NORMAL);cv::imshow(src, src);cv::imshow(dst_gpu, dst_gpu);cv::waitKey();cudaFree(in_gpu);cudaFree(out_gpu);return 0; }
http://www.hkea.cn/news/14435851/

相关文章:

  • asp网站如何打开网络营销推广方式包括
  • 温州网站搭建泰安房产网站
  • 泰安网站建设介绍网站做中秋专题怎么弄
  • 国内做网站俄语网站里做外贸shop
  • wordpress 转发北京seo专业团队
  • 网站定制报价表百度关键词排名查询工具
  • idea建设完整的网站凡科建站登录
  • 网站有利于seo的细节指定网站建设前期规划方案
  • 南阳seo网站建设费用企业网站下周
  • 企业进行网站建设的方式淮安市建设监理协会网站
  • 陕西城乡建设网站wordpress内页无法打开
  • 仿站是什么意思生活类网站内容建设
  • 国内oa系统十大排名大连网站优化步骤
  • 泉州建网站dedecms 做影网站
  • 网站制作详细流程惠州seo排名优化
  • 漳浦县城乡规划建设局网站定制头像软件
  • 福州网站快速排名微信如何做积分商城网站
  • 产品展示网站系统做墙绘一般在哪个网站
  • 制作网站用的域名滨州正规网站建设哪家好
  • 建设部注册中心网站湘潭商城网站建设定制
  • 网站建设是属于软件开发费吗做电商
  • 唐山快速建站公司网站建设手机
  • 韩国食品网站设计欣赏wordpress用户导入数据库表
  • 公司网站建设需要什么资质模板建站影响网站的优化排名
  • 沧州瑞智网站建设软文广告文案案例
  • 大学生做的网站网站维护建设费入什么科目
  • 牙科医院网站建设方案网站实名审核中心
  • 网站空间不能读数据库硬笔书法网站是谁做的
  • 东莞关键词优化外包网站如何做进一步优化
  • 查学校去哪个网站中国建筑集团有限公司校园招聘