CUDA C的代码写在哪里?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CUDA C的代码写在哪里?相关的知识,希望对你有一定的参考价值。
我已经下载安装了CUDA Toolkil 工具箱和visual studio 2010,想知道cuda c的代码是写在哪里的?比方说:
#include<stdio.h>
__global__ void kernel( void )
int main ( void )
kernel<<<1,1>>>();
printf("Hello,World!\n");
return 0;
这段代码应该写在哪里才可以运行?谢谢
CUDA C
CUDA中不能在主机代码中对cudaMalloc()返回的指针进行解引用。
- 可以将cudaMalloc()分配的指针传递给在设备上执行的函数。
- 可以在设备代码中使用cudaMalloc()分配的指针进行内存读/写操作。
- 可以将cudaMalloc()分配的指针传递给在主机上执行的函数。
- 不能在主机代码中使用cudaMalloc()分配的指针进行内存读/写操作。
CUDA运行模式:
- CPU传给GPU数据
- GPU计算
- GPU传给CPU结果
详细一点:
-
给GPU设备分配内存
cudaMalloc((void**)&dev_input, sizeof(int)));
cudaMalloc((void**)&dev_result, sizeof(int)));
-
在CPU上为输入变量赋初值 input
-
CPU将输入变量传递给GPU cudaMemcpy(dev_input, input, sizeof(int), cudaMemcpyHostToDevice);
-
GPU对输入变量进行并行计算
GPU_function<<<1,1>>>(dev_input, dev_result);
-
GPU将计算结果传回给CPU cudaMemcpy(result, dev_result, sizeof(int), cudaMemcpyDeviceToHost);
以上是关于CUDA C的代码写在哪里?的主要内容,如果未能解决你的问题,请参考以下文章