Podczas kompilowania kodu CUDA należy wybrać, dla jakiej architektury generowany jest kod. nvcc
zapewnia dwa parametry, aby określić tę architekturę, w zasadzie:Jakie są domyślne wartości opcji łuku i kodu podczas używania nvcc?
arch
określa arquictecture wirtualny, który może byćcompute_10
,compute_11
itdcode
określa prawdziwą architekturę, która może byćsm_10
,sm_11
, etc.
więc polecenie tak:
nvcc x.cu -arch=compute_13 -code=sm_13
Generuje kod "cubin" dla urządzeń z możliwością 1.3 obliczeń. Proszę popraw mnie jeżeli się mylę. Które chciałbym wiedzieć, które są domyślne wartości dla tych dwóch parametrów? Która domyślna architektura jest używana przez nvcc, gdy nie określono wartości dlaarch
lub ?
Jeśli skompilujesz swój kod przy użyciu flagi "verbose", zobaczysz domyślną architekturę wirtualną. –