2015-07-10 21 views
8

Vorrei applicare uncrustify (tramite beautify nell'editor Atom e un file di configurazione) al codice CUDA. Tuttavia, non so come dire Uncrustify per riconoscere le chiamate del kernel CUDA che hanno la seguente struttura:Comando non crittografato per il kernel CUDA

kernelName <<<N,M>>> (arg0,arg1,...); 

Tuttavia, Uncrustify ha problemi con la <<< >>> e la sua applicazione dà il seguente risultato sgradevole

kernelName << < N, M >> > 
    (arg0,arg1,...); 

Vorrei che assomigliasse più ad una chiamata di funzione ed evito anche la formattazione di <<< a << <. Idealmente, il risultato sarebbe simile

kernelName <<< N, M >>> (arg0,arg1, 
     ...); // line break if argument list is too long 

Quali argomenti posso aggiungere al mio config.cfg per ottenere il risultato di cui sopra?

Grazie mille.

risposta

5

Guardando attraverso tutta la documentazione di Uncrustify, ho trovato 2 argomenti che potrebbero influenzare il proprio stile kernel CUDA:

sp_compare        { Ignore, Add, Remove, Force  } 
Add or remove space around compare operator '<', '>', '==', etc 

E:

align_left_shift       { False, True } 
    Align lines that start with '<<' with previous '<<'. Default=true 

Si può provare a giocare con questi parametri per essere più vicini alla soluzione anche se proverei qualcosa del tipo:

sp_compare  = Remove 
align_left_shift = False