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

天津制作企业网站wordpress 插件 备忘录

天津制作企业网站,wordpress 插件 备忘录,wordpress 目录主题,电脑培训班零基础目录 1. 解决的问题 2. 分析 3. 方法 4. 代码示例 1. 解决的问题 利用块和线程索引#xff0c;从全局内存中访问指定的数据。 2. 分析 通常情况下#xff0c;矩阵是用行优先的方法在全局内存中线性存储的。如下。 8列6行矩阵#xff08;nx,ny#xff09;#xff08;…目录 1. 解决的问题 2. 分析 3. 方法 4. 代码示例 1. 解决的问题 利用块和线程索引从全局内存中访问指定的数据。 2. 分析 通常情况下矩阵是用行优先的方法在全局内存中线性存储的。如下。 8列6行矩阵nx,ny86。 3. 方法 这里建立二维网格(2,3)二维块(4,2)为例使用其块和线程索引映射矩阵索引。 1第一步可以用以下公式把线程和块索引映射到矩阵坐标上 2第二步可以用以下公式把矩阵坐标映射到全局内存中的索引/存储单元上 比如要获取矩阵元素(col,row) (2,4) ,其全局索引是34映射到矩阵坐标上 ix 2 0*32 iy 0 2*24. 然后再映射到全局内存idx 4*8 2 34. 4. 代码示例 #include cuda_runtime.h #include device_launch_parameters.h // threadIdx#include stdio.h // io #include time.h // time_t #include stdlib.h // rand #include memory.h //memset#define CHECK(call) \ { \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); \} \ }void initiaInt(int* p, const int N) {for (int i 0; i N; i){p[i] i;} }/// summary /// /// /summary /// param namec全局内存中线性存储的二维矩阵/param /// param namenx列/param /// param nameny/param void printMatrix(int* c, const int nx, const int ny) {int* ic c;printf(\n matrix: [%d, %d] \n, nx, ny);for (int i 0; i ny; i){for (int j 0; j nx; j){int cur_ele ic[i * nx j];printf(%d , cur_ele);}printf(\n);}printf(\n); }/// summary /// /// /summary /// param namea全局内存中是线性存储的/param /// param namenxcol/param /// param nameny/param /// returns/returns __global__ void printThreadIdx(int* a, const int nx, const int ny) {// 矩阵行列int ix threadIdx.x blockIdx.x * blockDim.x;int iy threadIdx.y blockIdx.y * blockDim.y; // 全局索引unsigned int idx iy * nx ix; // 前面有iy行每行有nx个数。printf(thread_idx (%d, %d) block_idx (%d, %d) coordinate (%d, %d) global index %d val %d\n,threadIdx.x, threadIdx.y, blockIdx.x, blockIdx.y, ix, iy, idx, a[idx]); }int main(void) {// get device infoint device 0;cudaDeviceProp deviceProp;CHECK(cudaGetDeviceProperties(deviceProp, device));printf(Using device: %d %s, device, deviceProp.name); // 卡号0的显卡名称。CHECK(cudaSetDevice(device)); // 设置显卡号// set matrix dimensionint nx 8, ny 6, nxy nx * ny;int nBytes nxy * sizeof(int);// malloc host memoryint* h_a;h_a (int*)malloc(nBytes);// init datainitiaInt(h_a, nxy);printMatrix(h_a, nx, ny);// malloc device memoryint* d_Mat_a;cudaMalloc((void**)d_Mat_a, nBytes);// transfer data from host to devicecudaMemcpy(d_Mat_a, h_a, nBytes, cudaMemcpyHostToDevice);// configdim3 block(4, 2); // 二维线程块(x,y)(4,2)dim3 grid((nxblock.x-1) / block.x, (nyblock.y-1)/block.y); // 二维网格(2,3)// 直接nx/block.x 8/42. (84-1)/42.// invoke kernelprintThreadIdx grid, block (d_Mat_a, nx, ny);cudaDeviceSynchronize();// free memorycudaFree(d_Mat_a);free(h_a);// reset devicecudaDeviceReset();return 0; } 可以看到全局索引值就是矩阵中存储的值。
http://www.hkea.cn/news/14377849/

相关文章:

  • iis怎么设置网站怎么更改网页上的内容
  • 网站建设品牌营销建网站的公司有哪些
  • 网站里面送礼物要钱怎么做代码营销策划公司怎么收费
  • 吉林省做网站公司四川建设厅网站施工员证查询
  • 网站推广制作网站开发的研究方法
  • 圣辉友联北京网站建设公司阿里虚拟主机怎么做两个网站
  • 陕西免费网站建设济南网站制做
  • 网站要钱怎么一个公司主体可以在多个网站做备案
  • 沧州网站建设方案咨询网球排名即时最新排名
  • 建设行业的门户网站东莞常平中学智慧校园应用中心
  • 网站备案模板网站防止采集
  • 黄岛网站建设服务公司建设银行信用卡申请网站
  • 做网站优化有什么好处外国网站界面
  • 三明建设局网站大连建设网球场价格
  • 宣传类的网站有哪些官网推广运营的步骤有哪些
  • 京推推cms网站建设免费云服务器永久使用下载
  • 中山网站建设设计效果图哪个网站好
  • 农庄网站亚马逊的网站建设
  • 达州市网站建设重庆市建设网站首页
  • 网站建设 类网站购买流程
  • 做业务不花钱的网站有哪些淘宝搜索关键词排名
  • 中国空间站有多大镇江网站建设优化案例分析
  • 做网站赌钱犯法吗网站错误模板
  • 网站开发的基本知识网页设计总结经验
  • 免费个人网站源码php大数据免费查询平台
  • 西安苗木行业网站建设价格公司页面网站设计模板
  • 个人域名可以做企业网站吗给您更优质的服务体验
  • 有专门做网站的公司吗做优化很好的网站
  • 宝安住房和建设局网站官网做网站的准备什么
  • 花生壳域名可以做网站域名吗做网站需要的信息