Pregunta

Tengo un proyecto CUDA. Se compone de varios archivos .cpp que contienen mi lógica de la aplicación y un archivo .cu que contiene varios núcleos, además de una función __host__ que invoca a ellos.

Ahora me gustaría para determinar el número de registros utilizados por el kernel (s). Mis miradas normales de llamadas compilador como esta:

nvcc -arch compute_20 -link src/kernel.cu obj/..obj obj/..obj .. -o bin/..exe -l glew32 ...

La adición de la "-Xptxas -v" bandera compilador para esta llamada por desgracia no tiene ningún efecto. El compilador todavía produce la misma salida de texto como antes. El compilado .exe También funciona de la misma manera que antes, con una excepción:. Mi velocidad de fotogramas salta a 1800fps, frente a 80fps

¿Fue útil?

Solución 6

No es exactamente lo que estaba buscando, pero puede utilizar el perfilador visual CUDA incluye con el SDK de computación GPU NVIDIA. Además de muchas otras informaciones útiles, que muestra el número de registros utilizados por cada núcleo de su aplicación.

Otros consejos

Yo tenía el mismo problema, aquí está mi solución:

  1. * Compilar archivos cu dispositivo sólo en archivos * PTX, esto hará que se descarten código de host

    nvcc -ptx *.cu

  2. * Compilar archivo PTX:

    ptxas -v *.ptx

El segundo paso le mostrará el número de registros utilizados por el kernel y la cantidad de memoria compartida utilizada.

Convertir el compute_20 a sm_20 en su llamada compilador. Eso debería arreglarlo.

cuando compilación

nvcc --ptxas-options=-v

Cuando se utiliza "-Xptxas -v", "-arch" juntos, no podemos obtener información detallada (registro num, etc.). Si queremos ver el prolijo sin perder la posibilidad de asignar un arquitectura de la GPU (-arch, -code) por delante, podemos hacer los siguientes pasos: nvcc -arch compute_XX *.cu -keep continuación ptxas -v *.ptx. Pero obtendremos muchos archivos de procesamiento. Ciertamente, la respuesta de Kogut es el punto.

Es posible que desee a CTRL su compilador por defecto detallado de opciones.

Por ejemplo es VStudio Ir a: Herramientas-> Opciones-> ProjectsAndSolutions-> BuildAndRun a continuación, la salida de nivel de detalle en Normal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top