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

做网站用到哪些软件layui wordpress

做网站用到哪些软件,layui wordpress,html5 音乐网站,佛山网站建设 骏域网站目录 1. 解决的问题 2. 分析 3. 方法 4. 代码示例 1. 解决的问题 利用块和线程索引,从全局内存中访问指定的数据。 2. 分析 通常情况下,矩阵是用行优先的方法在全局内存中线性存储的。如下。 8列6行矩阵(nx,ny)(…

目录

1. 解决的问题

2. 分析

3. 方法

4. 代码示例


1. 解决的问题

利用块和线程索引,从全局内存中访问指定的数据。

2. 分析

通常情况下,矩阵是用行优先的方法在全局内存中线性存储的。如下。

8列6行矩阵(nx,ny)=(8,6)。

3. 方法

这里建立二维网格(2,3)+二维块(4,2)为例,使用其块和线程索引映射矩阵索引。

(1)第一步,可以用以下公式把线程和块索引映射到矩阵坐标上;

(2)第二步,可以用以下公式把矩阵坐标映射到全局内存中的索引/存储单元上;

比如要获取矩阵元素(col,row) = (2,4) ,其全局索引是34,映射到矩阵坐标上,

ix = 2 + 0*3=2; iy = 0 + 2*2=4. 然后再映射到全局内存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 name="c">全局内存中线性存储的二维矩阵</param>
/// <param name="nx">列</param>
/// <param name="ny"></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 name="a">全局内存中是线性存储的</param>
/// <param name="nx">col</param>
/// <param name="ny"></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((nx+block.x-1) / block.x, (ny+block.y-1)/block.y); // 二维网格(2,3)// 直接nx/block.x = 8/4=2. (8+4-1)/4=2.// invoke kernelprintThreadIdx << <grid, block >> > (d_Mat_a, nx, ny);cudaDeviceSynchronize();// free memorycudaFree(d_Mat_a);free(h_a);// reset devicecudaDeviceReset();return 0;
}

可以看到,全局索引值就是矩阵中存储的值。 

http://www.yayakq.cn/news/312580/

相关文章:

  • 门户网站做等级保护测评一 网站建设的目的和目标
  • 肥西建设局网站昆明网站建设怎么样
  • 重庆九龙坡区哪里有做网站的十大免费ae模板网站
  • 网站推广视频的服务方案佛山最好的网站建设公司
  • 做家电网站好网站维护外包
  • 做安卓icon图标下载网站创意设计活动是指什么内容
  • 深圳 网站托管中国114黄页网站宣传广告
  • 东营网站开发招聘佛山seo整站优化
  • 360提示的危险网站公司起名网站
  • 时尚杂志排版设计宝安网站建设seo信科
  • 怎么在vps上建网站做网站多久才会有收益
  • 孝感网站seo自主建站
  • 举报网站建设运行情况互联网企业包括哪些行业
  • 山东临沂市需要建设网站的公司医院双语网站建设的意义
  • 企业官网图片东莞市seo网络推广哪家好
  • 上海各区的网站有哪些公司wordpress主题排行
  • 合适的网站建设的公司怎么找什么网站没人做
  • 自适应网站wordpress重庆蒲公英网站建设公司
  • 网络营销网站源码html网站建设中
  • 浦东新区专业做网站网站的企业风采怎么做
  • 学习网站建设总结国外网站建设方案
  • 做网站推广需要多少钱海南网站建站
  • 企业站模板中企动力销售好做吗
  • 北京网站建设公司网站优化资讯在线学习建设网站
  • 网站屏幕自适应地方网站怎样做
  • 自己怎么做微信小程序网站chrome谷歌浏览器官方下载
  • 哈尔滨网站制作哪里专业网站的联系我们怎么做
  • 电子产品网站建设分析的摘要wordpress 管理员 密码
  • 建设网站的实验目的和意义网页站点规划
  • 做720效果的还有哪个网站租好服务器咋做网站呢