2012-07-13 15 views
10

¿Alguien sabe cómo obtener el ensamblador PTX anotado con código C/C++ con el nuevo back-end LLVM?Cómo generar C/C++ anotado PTX en CUDA 4.1/4.2/5.0

Puede obtenerlo fácilmente con CUDA 4.0 o anterior, pero NVCC rechaza todos mis indicadores después de actualizar CUDA toolkit a la versión 4.2.

+0

No sé de una manera de hacerlo con nvvm. La documentación aún es bastante incompleta, por lo que podría haber una manera. – talonmies

Respuesta

4

NVCC de previsualización CUDA 6.0 soporta la opción --source-in-ptx.

3

¿ nvcc.exe --opencc-options -LIST: source = on -ptx kernel.cu funciona? He instalado cuda 4.2 y este comando genera un archivo * .ptx con un código C comentado entre las líneas de ensamblador ptx.

+0

No funcionen para mí: 'advertencia nvcc: la opción '--opencc-options (-Xopencc)' está obsoleta e ignorada, al apuntar a compute_20, sm_20, o superior' –

+4

[Aquí] (http: //webcache.googleusercontent .com/search? q = cache: 7IFbmpUoYdMJ: forums.nvidia.com/index.php%3Fshowtopic%3D217257%26view%3Dold+&cd=4&hl=ru&ct=clnk&client=firefox-a) es la respuesta de nvidia. Brevemente, esta funcionalidad, es decir, la característica de "listado mixto", se vinculó a un indicador específico del componente. A medida que CUDA 4.1 y posteriores introducen una nueva interfaz para sm_2x y superior, ese componente ha sido reemplazado y, por lo tanto, ya no se acepta la bandera. Si solo quiere usarlos como marcadores, puede hacer los suyos insertando PTX en línea - comentarios de "ensamblador" de la siguiente manera 'asm volátil (" // this is line ... ");' – Insomnious

2

Es posible que desee utilizar las banderas --source-in-ptx y -G NVCC para ver el código original en el archivo PTX.