2013-08-16 22 views
8

C'è un modo per eseguire il debug di kernel OpenCL su una GPU Nvidia, cioè impostare i breakpoint e controllare le variabili? La mia comprensione è che Nvidia's tool non consente il debug di OpenCL e che AMD's e Intel's lo consentono solo sui propri dispositivi.Come eseguire il debug di OpenCL su GPU Nvidia?

+2

Non ho trovato una soluzione per questo problema, ma spesso eseguiamo il debug utilizzando CodeXL su piattaforme AMD per assicurarci che il nostro codice funzioni e quindi eseguiamo modifiche e ottimizzazioni finali specifiche per le piattaforme Nvidia senza il supporto per il debug. Questo ha funzionato abbastanza bene, ma ovviamente richiede l'acquisto di una scheda AMD che è simile alla tua scheda Nvidia. Non è una soluzione ideale ma tende a funzionare bene per noi. –

+1

Upvote per lo strumento CodeXL, ottimo strumento di AMD, oltre a non essere fortunato su NVIDIA, puoi probabilmente usare il comando printf (http://www.khronos.org/registry/cl/sdk/1.2/docs/man/ xhtml/printfFunction.html) come modo sporco di guardare i locali, ti suggerirei di passare alle GPU AMD dove gli strumenti e il supporto sono molto migliori – kiranputtur

risposta

1

gDEBugger potrebbe aiutarti un po '(mai usato però), ma a parte questo non c'è nessuno strumento che io sappia che possa impostare i breakpoint o controllare le variabili all'interno di un kernel. Forse prova a salvare gli output intermedi dal tuo kernel se è un kernel lungo. Spiacente, non posso darti una soluzione magica, il debug di OpenCL è difficile.

+0

[Questo post] (http://stackoverflow.com/q/12070564/1397061) menzioni che una versione precedente di gDEBugger supportava le schede Nvidia, ma quel lavoro fu abbandonato. Questa versione e i driver che la supportano sono ancora disponibili? –

+0

Sembra che avrei dovuto controllare lo stato di gDEBugger da Graphic Remedy prima di postare. L'ultima versione rilasciata è del 2010 (ancora disponibile per il download) e la versione di AMD è stata sostituita da CodeXL. Non so se la vecchia versione di gDEBugger funziona, ma proverò e riferirò. – chippies

+0

Potrebbe essere necessario trovare una versione precedente, perché apparentemente hanno abbandonato il supporto Nvidia prima dell'ultima versione. –