I already read about virtual architecture and code generation for nvcc but I still have some questions.
I have a cuda compiled executable whose cuobjdump
output is
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
I have two questions:
- What does
code version
mean? Documentation doesn't say that. - Would such an executable be compatible on a system with a
sm_30
(Kepler) device? I believe it should because there's PTX code in the executable and the virtual architecture issm_20
, i.e. it's asking for a very small set of features available from Fermi cards onward (still not sure what thatcode version
means)