Warning: Declaration of ElementorPro\Modules\Payments\Classes\Payment_Button::render_button($tag = 'a') should be compatible with Elementor\Widget_Button::render_button(?Elementor\Widget_Base $instance = NULL) in /web/htdocs/www.colorwave.it/home/blog/wp-content/plugins/elementor-pro/modules/payments/classes/payment-button.php on line 534
gpu_kernel – estrarre i dati modificati dal kernel – Colowave

estrarre i dati modificati dal kernel

Alcuni degli argomenti passati al kernel saranno elaborati durante l’esecuzione dello stesso; Queste informazioni potranno essere estratte dal programma host utilizzando il metodo gpu_kernel::PopArg. Il frammento di codice che segue mostra il codice per l’esecuzione del kernel e quello di estrazione dei risultati:

Del metodo Set_index_space_2d(..) contenuto nella prima riga scriveremo fra poco; per ora ricordiamo che definisce l’intervallo di indici usato dalla gpu per eseguire i singoli work_item;

Il metodo gpu_kernel::Exec() lancia in esecuzione il kernel e rimanda un valore true se il codice è stato eseguito correttamente; il passaggio successivo è l’estrazione delle informazioni calcolata attraverso la gpu_kernel::PopArg():

PopArg()

La funzione riceve un puntatore ad una istanza di tipo gpu_mem_object e rimanda true se le informazioni sono state estratte correttamente; in questo esempio l’argomento dest passato è lo stesso che in precedenza era stato trasferito come argomento al kernel:

Da quanto scritto si può dedurre che le informazioni elaborate ed estratte dal kernel usando la PopArg sono necessariamente del tipo gpu_mem_object; inoltre va ricordato che queste istanze devono essere state create con  il flag CL_MEM_WRITE_ONLY o CL_MEM_READ_WRITE  definiti mediante le funzioni gpu_mem_object::Set_mem_flags()

Pages: 1 2 3 4 5
%d bloggers like this:
Skip to toolbar