我已经read about virtual architecture and code generation for nvcc,但是我还有一些问题。
我有一个cuda编译的可执行文件,其输出为cuobjdump
Fatbin elf code:
================
arch = sm_20
code version = [1,7]
producer = cuda
host = linux
compile_size = 64bit
Fatbin ptx code:
================
arch = sm_20
code version = [5,0]
producer = cuda
host = linux
compile_size = 64bit
compressed
我有两个问题:
code version
是什么意思?文档没有这么说。sm_30
(开普勒)设备的系统上是否兼容?我认为应该这样做,因为可执行文件中有PTX代码,并且虚拟体系结构是sm_20
,也就是说,它要求从Fermi卡开始提供非常小的一组功能(仍然不确定code version
的含义)