2.7 SUMMARY

部署运行你感兴趣的模型镜像

本章提供了CUDA C编程模型的快速、简化的概述。CUDA扩展C语言以支持并行计算。在本章中,我们讨论了这些扩展的基本子集。为了您的方便,我们将本章中讨论的扩展总结如下:

FUNCTION DECLARATIONS

CUDA C扩展了C函数声明语法,以支持异构并行计算。扩展总结在图2.13.中。使用“global”、“device’”或“__host _”之一,CUDA C程序员可以指示编译器生成内核函数、设备函数或主机函数。所有没有这些关键字的函数声明都默认为主机函数。如果在函数声明中同时使用“host”和“”和“device”,编译器会生成两个版本的函数,一个用于设备,一个用于主机。如果函数声明没有任何CUDA C扩展关键字,则该函数默认为主机函数。

KERNEL LAUNCH

CUDA C 扩展了 C函数调用语法,内核执行配置参数被<<<和>>>包围。这些执行配置参数仅在调用内核函数或内核启动期间使用。我们讨论了定义网格尺寸和每个块尺寸的执行配置参数。阅读器应参考阅读器应参考CUDA编程指南[NVIDIA 2016],以了解内核启动扩展以及其他类型的执行配置参数的更多详细信息。

BUILT-IN (PREDEFINED) VARIABLES

CUDA kerels可以访问一组内置的预定义的只读变量,这些变量允许每个线程区分它们,并确定每个线程要处理的数据区域。在本章中,我们讨论了threadldx、blockDim和blockldx变量。在第3章,可扩展并行执行中,我们将讨论使用这些变量的更多细节。

RUN-TIME API

CUDA支持一组API功能,为CUDA C程序提供服务。我们在本章中讨论的服务是cudaMalloc(),cudaFree() 和cudaMemcpy() 函数。这些函数分别代表调用程序分配设备内存并在主机和设备之间传输数据。阅读器参考CUDA C编程指南以了解其他CUDA API功能。

我们本章的目标是介绍CUDA C的核心概念和C的基本CUDA C扩展,以编写一个简单的CUDA C程序。本章绝不是对所有CUDA功能的全面描述。其中一些功能将在书的其余部分中介绍。然而,我们的重点将是这些功能支持的关键并行计算概念。我们只会介绍并行编程技术的代码示例中所需的足够的CUDA C功能。一般来说,我们鼓励读者始终查阅CUDA C编程指南,以了解CUDA C功能的更多详细信息。

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值