- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
Visual Studio 在以下示例中用红线突出显示“threadIdx
”。
程序似乎执行成功了,所以问题只是VisualStudio中的显示问题。
我怎样才能使 Visual Studio 不再将 threadIdx
突出显示为无效?
我的环境:* 操作系统:Windows7,64位* VisualStudio2010、CUDA5.5
源代码:
#include <cuda_runtime.h>
#include <stdio.h>
#include <math.h>
#include <cuda.h>
#define N 256
__global__ void matrix_vector_multi_gpu_1_256(float *A_d, float *B_d, float *C_d);
int main(){
int i,j;
float A[N], B[N*N], C[N];
float *A_d, *B_d, *C_d;
dim3 blocks(1,1,1);
dim3 threads(256,1,1);
for(j=0;j<N;j++){
for(i=0;i<N;i++){
B[j*N+i]=((float)j)/256.0;
}
}
for(j=0;j<N;j++){
C[j]=1.0F;
}
cudaMalloc((void**)&A_d, N*sizeof(float));
cudaMalloc((void**)&B_d, N*N*sizeof(float));
cudaMalloc((void**)&C_d, N*sizeof(float));
cudaMemcpy(A_d,A,N*sizeof(float),cudaMemcpyHostToDevice);
cudaMemcpy(B_d,B,N*N*sizeof(float),cudaMemcpyHostToDevice);
cudaMemcpy(C_d,C,N*sizeof(float),cudaMemcpyHostToDevice);
matrix_vector_multi_gpu_1_256<<<blocks,threads>>>(A_d,B_d,C_d);
cudaMemcpy(A,A_d,N*sizeof(float),cudaMemcpyDeviceToHost);
for(j=0;j<N;j++){
printf("A[ %d ]=%f \n",j,A[j]);
}
getchar();
cudaFree(A_d);
cudaFree(B_d);
cudaFree(C_d);
return 0;
}
__global__ void matrix_vector_multi_gpu_1_256(float *A_d, float *B_d, float *C_d){
int i;
A_d[threadIdx.x]=0.0F;
for(i=0;i<N;i++){
A_d[threadIdx.x]=A_d[threadIdx.x]+B_d[threadIdx.x*N+i]*C_d[i];
}
}
我只需要澄清一些非常基本的东西 - 大多数计算示例都使用以下内容: ID = blockIdx.x*blockDim.x+threadIdx.x; //...然后对数组[ID]进行计算 我的问题是,如
这是一个概念性问题。在 CUDA 中,gridDim、blockDim 和 threadIdx 可以是 1D、2D 或 3D。我想知道他们的2D和3D版本是如何解释的? 更详细地说,CUDA是否将多维
我正在进入 C++/Cuda 并在“MortalityTable.obj”中遇到编译错误“未解析的外部符号 threadIdx”。 我创建了一个新的 C++ Cuda Runtime 项目,然后编译并
这个问题在这里已经有了答案: How to get VS 2010 to recognize certain CUDA functions (2 个答案) 关闭 9 年前。 Visual Studi
通过 cub::LaneId() 或类似以下的函数来解释是最简单的: inline __device__ unsigned get_lane_id() { unsigned ret; asm
通过 cub::LaneId() 或类似以下的函数来解释是最简单的: inline __device__ unsigned get_lane_id() { unsigned ret; asm
如何强制 GCC 使用代码中的 threadIdx 行进行编译? 我正在尝试使用 c 包装器编译我的 cuda 应用程序。 为了生成 .so 文件,我运行:nvcc -arch=sm_11 -o li
您好,您正在尝试在 CUDA 上并行化格子玻尔兹曼求解器。不知何故,我在将目标文件链接在一起时遇到错误。对象编译没有错误。 LBMSolver.o: In function >LBMSolver::c
我是 OpenCL 的初学者,试图将一个简单的 CUDA 函数转换为 OpenCL。在 CUDA 函数中,他们使用以下代码段来获取操作索引, int id = (blockIdx.x + blockI
我是一名优秀的程序员,十分优秀!