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

漳州专业做网站seo诊断工具有哪些

漳州专业做网站,seo诊断工具有哪些,旅游网站规划建设,衡水做网站报价在多GPU运行应用程序时#xff0c;需要正确设计GPU之间的通信#xff0c;GPU间数据传输的效率取决于GPU是如何连接在一个节点上并跨集群的 在多GPU系统里有两种连接方式 多GPU通过单个节点连接到PCIe总线上 多GPU连接到集群中的网络交换机上 /* * 本示例演示了如何使用 Open…在多GPU运行应用程序时需要正确设计GPU之间的通信GPU间数据传输的效率取决于GPU是如何连接在一个节点上并跨集群的 在多GPU系统里有两种连接方式 多GPU通过单个节点连接到PCIe总线上 多GPU连接到集群中的网络交换机上 /* * 本示例演示了如何使用 OpenMP API 为多个 GPU 编写应用程序在 CPU 端使用 OpenMP 进行线程处理的多 GPU 示例, 需要支持 OpenMP 2.0 的编译器*/#include omp.h #include stdio.h // 使用 stdio 函数因为 C 流不一定是线程安全的 #include helper_cuda.husing namespace std;//一个简单的内核只需将每个数组元素递增 b __global__ void kernelAddConstant(int *g_a, const int b) {int idx blockIdx.x * blockDim.x threadIdx.x;g_a[idx] b; } // 一个谓词用于检查每个数组元素是否被设置为其索引加上 b int correctResult(int *data, const int n, const int b) {for (int i 0; i n; i)if (data[i] ! i b)return 0;return 1; } int main(int argc, char *argv[]) {int num_gpus 0; // CUDA GPU 数量printf(%s Starting...\n\n, argv[0]);/// 确定支持 CUDA 的 GPU 数量//cudaGetDeviceCount(num_gpus);if (num_gpus 1){printf(no CUDA capable devices were detected\n);return 1;}/// 显示 CPU 和 GPU 配置//printf(number of host CPUs:\t%d\n, omp_get_num_procs());printf(number of CUDA devices:\t%d\n, num_gpus);for (int i 0; i num_gpus; i){cudaDeviceProp dprop;cudaGetDeviceProperties(dprop, i);printf( %d: %s\n, i, dprop.name);}printf(---------------------------\n);/// initialize data//unsigned int n num_gpus * 8192;unsigned int nbytes n * sizeof(int);int *a 0; // 指向 CPU 上数据的指针int b 3; // 数组递增的值a (int *)malloc(nbytes);if (0 a){printf(couldnt allocate CPU memory\n);return 1;}for (unsigned int i 0; i n; i)a[i] i;// 运行与 CUDA 设备数量相同的 CPU 线程//每个 CPU 线程控制不同的设备处理各自的数据部分。 // 使用的 CPU 线程数量有可能多于 CUDA 设备的数量在这种情况下多个 CPU 线程将在同一设备上分配资源并启动内核。// 例如尝试 omp_set_num_threads(2 * num_gpus); // 请注意在 omparallel 作用域内声明的所有变量都是 是每个 CPU 线程的局部变量//omp_set_num_threads(num_gpus); //创建与 CUDA 设备数量相同的 CPU 线程//omp_set_num_threads(2*num_gpus);// 创建的 CPU 线程数量是 CUDA 设备数量的两倍#pragma omp parallel{unsigned int cpu_thread_id omp_get_thread_num();unsigned int num_cpu_threads omp_get_num_threads();// 设置并检查该 CPU 线程的 CUDA 设备int gpu_id -1;checkCudaErrors(cudaSetDevice(cpu_thread_id % num_gpus)); // % num_gpus 允许 CPU 线程数量多于 GPU 设备数量checkCudaErrors(cudaGetDevice(gpu_id));printf(CPU thread %d (of %d) uses CUDA device %d\n, cpu_thread_id, num_cpu_threads, gpu_id);int *d_a 0; // 指向与该 CPU 线程相关联的设备上内存的指针int *sub_a a cpu_thread_id * n / num_cpu_threads; // 指向该 CPU 线程数据部分的指针unsigned int nbytes_per_kernel nbytes / num_cpu_threads;dim3 gpu_threads(128); // 128 threads per blockdim3 gpu_blocks(n / (gpu_threads.x * num_cpu_threads));checkCudaErrors(cudaMalloc((void **)d_a, nbytes_per_kernel));checkCudaErrors(cudaMemset(d_a, 0, nbytes_per_kernel));checkCudaErrors(cudaMemcpy(d_a, sub_a, nbytes_per_kernel, cudaMemcpyHostToDevice));kernelAddConstantgpu_blocks, gpu_threads(d_a, b);checkCudaErrors(cudaMemcpy(sub_a, d_a, nbytes_per_kernel, cudaMemcpyDeviceToHost));checkCudaErrors(cudaFree(d_a));}printf(---------------------------\n);if (cudaSuccess ! cudaGetLastError())printf(%s\n, cudaGetErrorString(cudaGetLastError()));// check the result//bool bResult correctResult(a, n, b);if (a)free(a); // free CPU memoryexit(bResult ? EXIT_SUCCESS : EXIT_FAILURE); }
http://www.hkea.cn/news/14564632/

相关文章:

  • 学校做网站需要什么临沂住房和城乡建设局网站打不开
  • 织梦网站如何修改数据库配置企业门户app
  • 武昌网站建设公司网站备案流程2016
  • 社区网站的建设标书制作员是干什么的
  • 青白江建设局网站wordpress 微博同步插件
  • 大型网站如何优化百度网址输入
  • 网站项目建设策划方案临平房产做网站的公司
  • 做淘宝详情的网站广州公关公司招聘
  • 中国东方营销网站软装潢.企业网站建设
  • 广州网站建设哪里买电子烟网站建设
  • 网站建设价格明细表和网站预算google下载官方版
  • 建设网站那家好网页制作基础题
  • 没有备案的交易网站wordpress文章浏览数
  • 绵阳新农网的网站是哪个公司做的厦门百度seo
  • 包小盒设计网站中山网站建设文化案例
  • 注册网站域名平台网页转app制作工具 安卓
  • 信誉好的赣州网站建设网络培训系统入口
  • 做房产网站用什么软件WordPress评论列表去掉回复
  • 行业网站方案网站建设作业做一个简单的网站
  • 国际网站怎么做优化微信商城小程序搭建教程
  • 门户网站建设方案wordpress5.0.3
  • asp网站做视频教程帝国cms对比WordPress
  • 网站 自定义表单网站首页的名字通常是
  • 淘宝网站开始怎么做的aspcms手机网站模板
  • php网站开发自学做电销哪些网站可以找到客户端
  • 潍坊建站公司沧州网络科技有限公司
  • 学习网站建设要报班吗自己建的网站如何做海外推广
  • 单页网站有哪些青海省教育厅门户网站登录
  • 校园网站建设的重要性png免费素材网站
  • 前端一般模仿什么网站计算机网络技术网站开发