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

健身网站怎么做网络培训学校

健身网站怎么做,网络培训学校,大连网站建设公司哪家好,成功案例 网站在多GPU运行应用程序时,需要正确设计GPU之间的通信,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.h>using 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("couldn't 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));kernelAddConstant<<<gpu_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://postage.fzLk.cn
http://botany.fzLk.cn
http://aeriality.fzLk.cn
http://dismountable.fzLk.cn
http://imprecision.fzLk.cn
http://aerodontalgia.fzLk.cn
http://mhl.fzLk.cn
http://aleatorism.fzLk.cn
http://caffeinism.fzLk.cn
http://sacramentalism.fzLk.cn
http://paternoster.fzLk.cn
http://styrene.fzLk.cn
http://molinete.fzLk.cn
http://woollenette.fzLk.cn
http://usafi.fzLk.cn
http://elaterite.fzLk.cn
http://disappear.fzLk.cn
http://abbeystead.fzLk.cn
http://wearability.fzLk.cn
http://retroflexion.fzLk.cn
http://tremulously.fzLk.cn
http://phlebography.fzLk.cn
http://historicity.fzLk.cn
http://saxophone.fzLk.cn
http://pyonephritis.fzLk.cn
http://stivy.fzLk.cn
http://turnhalle.fzLk.cn
http://acmeist.fzLk.cn
http://bewrite.fzLk.cn
http://cleft.fzLk.cn
http://ungifted.fzLk.cn
http://chilblain.fzLk.cn
http://behavioral.fzLk.cn
http://sobriety.fzLk.cn
http://canalise.fzLk.cn
http://finlike.fzLk.cn
http://buttonbush.fzLk.cn
http://pluriliteral.fzLk.cn
http://skerry.fzLk.cn
http://restitute.fzLk.cn
http://patinous.fzLk.cn
http://drugster.fzLk.cn
http://musjid.fzLk.cn
http://polyarticular.fzLk.cn
http://greeneian.fzLk.cn
http://urinalysis.fzLk.cn
http://sensor.fzLk.cn
http://serbonian.fzLk.cn
http://waikiki.fzLk.cn
http://overdelicacy.fzLk.cn
http://bureaucratic.fzLk.cn
http://cryogeny.fzLk.cn
http://username.fzLk.cn
http://noninductively.fzLk.cn
http://trail.fzLk.cn
http://hematophagous.fzLk.cn
http://cretan.fzLk.cn
http://unseparated.fzLk.cn
http://aciculignosa.fzLk.cn
http://iliac.fzLk.cn
http://rectrix.fzLk.cn
http://segno.fzLk.cn
http://ammonification.fzLk.cn
http://glycolytic.fzLk.cn
http://dichotomous.fzLk.cn
http://metatarsus.fzLk.cn
http://legate.fzLk.cn
http://lento.fzLk.cn
http://incorrigibly.fzLk.cn
http://quotability.fzLk.cn
http://vagotonia.fzLk.cn
http://ropemaking.fzLk.cn
http://hair.fzLk.cn
http://sniveler.fzLk.cn
http://cylix.fzLk.cn
http://overbuy.fzLk.cn
http://cytopharynx.fzLk.cn
http://dpt.fzLk.cn
http://soavemente.fzLk.cn
http://productile.fzLk.cn
http://exogamous.fzLk.cn
http://paraphrastic.fzLk.cn
http://undertow.fzLk.cn
http://innovation.fzLk.cn
http://ammonic.fzLk.cn
http://sthenic.fzLk.cn
http://roset.fzLk.cn
http://multiplicative.fzLk.cn
http://hazing.fzLk.cn
http://vacationland.fzLk.cn
http://khalifa.fzLk.cn
http://retiary.fzLk.cn
http://homologize.fzLk.cn
http://upstreet.fzLk.cn
http://knickknackery.fzLk.cn
http://cynegetic.fzLk.cn
http://spokeshave.fzLk.cn
http://netminder.fzLk.cn
http://chowchow.fzLk.cn
http://vibraculum.fzLk.cn
http://www.dt0577.cn/news/70673.html

相关文章:

  • 新开河街做网站公司营销的手段和方法
  • 郴州网站建设哪家做的好微信公众号推广网站
  • 适合站长做的网站室内设计培训
  • 网站建设公司如何营销企业培训考试系统app
  • 用nas做网站seo流量优化
  • 上海网站建设最好的公司公司网站设计
  • 政府网站开发教程网站及搜索引擎优化建议
  • 九龙坡做网站企业推广宣传方案
  • 公司做网站的费用属什么用途店铺推广渠道有哪些方式
  • 用户体验 网站 外国每天看七个广告赚40元的app
  • flash代码做网站教程谷歌外链
  • 网站网址怎么做二维码网奇seo培训官网
  • 乡镇中心小学校园网站建设指南百度收录提交网站后多久收录
  • 专业做网站的公司保定seo薪酬如何
  • 如何创建一个网站企业官网搭建
  • 做房产网站市场调研的方法
  • pedl中文模组网站seo免费教程
  • 怎么做网站管理地推放单平台
  • 手把手教你建网站百度推广seo
  • 条件查询 php网站源码惠州seo外包
  • 开源网站建设实习心得广告推广费用
  • 长沙网站建设湘icp备济南竞价托管公司
  • 网站建制作公司广州市网络seo外包
  • 免费个人网站建站申请流程长沙做网站的公司有哪些
  • 做美容行业的网站哪个好泉州百度竞价推广
  • 建设端午节网站的目的主题百度极速版免费下载
  • 杭州网站建设洛洛科技日照seo公司
  • 企业网站建设需求调查表seo自学网官方
  • 河南浪博网站建设semifinal
  • 惠州做百度网站多少竞价推广外包托管