CUDA-0-基础

本节介绍CUDA的基础概念。
CUDA

NVCC编译

NVCC是一个编译器,简化编译C和PTX代码的流程。提供和GCC类似的命令行模式。在不同的阶段调用不同的工具集。

离线编译

NVCC编译编译混有主机和设备代码。NVCC的工作流程主要在于分离主机和设备代码。编译设备代码成装配形式(PTX代码)或者二进制形式(cubin形式)。

  • 把调用核函数的<<…>>替换成必要的PTX代码或者cubin对象。

    即时编译

    应用程序在运行时加载PTX代码都会被设备驱动编译成二进制代码。

二进制兼容性

二进制代码是有架构的,也就是说每种架构下运行的二进制是有差异的。就行汇编一样,使用code选项指定目标架构产生相应的cubin对象。 -code=sm_13编译生成计算能力1.3的设备上运行的二进制代码。

PTX兼容性

一些PTX指令只能支持高计算能力的设备。如全局的原子操作只能支持计算能力为1.1或更高的设备。将C编译成PTX。可以使用-arch指定编译选项指定的计算能力。

版权声明:本文为博主原创文章,转载需声明为转载内容并添加原文地址。

原文地址:http://coderdock.com

Dock wechat
欢迎您扫一扫上面的微信公众号,订阅我的公众号