cuda编程

/* 程序开始->cpu运行->将cpu数据copy到gpu->gpu运行->将gpu数据copy到cpu->cpu运行->结束 */
#include<stdio.h>
#include<stdlib.h>
#include<cuda_runtime.h>
#include<device_launch_parameters.h>



// 定义宏,主要功能是检测cuda函数的错误
#define CHECK(call)                                                  \
{
                                                                         \
    const cudaError_t err = call;                                    \
    if (err != cudaSuccess)                                          \
    {
                                                                     \
        fprintf(stderr, "Error: %s:%d, ", __FILE__, __LINE__);       \
        fprintf(stderr, "code: %d, reason: %s\n", err,               \
                cudaGetErrorString(err));                            \
        exit(1);                                                     \
    }                                                                \
}

// 内核函数
__global__ void helloFromGPU()
{
   
    printf("======================\n");
}

// 主函数
/*
* <<<grid, block>>>:三个尖括号是cuda特有,是核函数的执行配置,调用核函数必须用
* grid是网格,这个值代表调用多少个block;block是线程块,代表调用多少个线程
* cudaDeviceReset():显示地释放和清空当前进程gpu资源
*/

int main(int argc, char** argv)
{
   
    printf("print from cpu\n");
    helloFromGPU << <1, 10 >> > ();
    CHECK(cudaDeviceReset

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值