CUDA code

1

用host指代CPU及其内存,用device指代GPU及其内存
CUDA程序中既包含host程序,又包含device程序
host与device之间可以进行通信,之间可以进行数据拷贝

GPU并行化的工作流程:

  1. CPU发送一种称为kernel的函数到GPU
  2. GPU同时运行该函数的多个版本,称为threads;
    thread可以组合成block,一个kernel里的所有thread称为一个grid
__global__是CUDA C/C++的函数修饰符

表示该函数为一个kernel函数, 且
在这里插入图片描述
在调用kernel函数时,函数名后的<<<b, t>>>:
在这里插入图片描述

// kernel函数需要运行在4个block上,每个block有2个thread。
#include <stdio.h>

__global__ void myKernel() {
}

int main() {
		//your code here
        myKernel<<<4, 2>>>();
		//end of your code
        printf("Hello, World!\n");
        return 0;
}

kernel函数需要运行在4个block上,每个block有2个thread。
在这里插入图片描述

2

详细介绍函数修饰符:
在这里插入图片描述

//在GPU上运行dev1与dev2函数10次。
#include <stdio.h>

__device__ int dev1() {
}

__device__ int dev2() {
}

__global__ void run10Times() {
	//your code here
	dev1();
	dev2();
	//end of your code
}

int main() {
	run10Times<<<2, 5>>>();
	printf("Hello, World!\n");
	return 0;
}

3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值