Attualmente sto lavorando con il pacchetto CUDArt. La GitHub documentation include il seguente frammento di codice quando si carica un modulo PTX contenente un kernel CUDA C personalizzato:Che cosa significa "finalizzare" in Julia?
md = CuModule("mycudamodule.ptx", false) # false means it will not be automatically finalized
(commento in originale)
Sto cercando di capire che cosa esattamente questa opzione false
per mezzo finalizzazione e quando vorrei/non vorrei usarlo. Mi sono imbattuto in questo post su SO (What is the right way to write a module finalize method in Julia?). Si cita la documentazione Julia:
finalizzatore (x, funzione)
registrare una funzione f (x) di essere chiamato quando non ci sono riferimenti di programma accessibile a x. Il comportamento di questa funzione è imprevedibile se x è di tipo bit.
In realtà non capisco cosa significhi questo, o anche se la finalizzazione qui è la stessa di quella citata nell'esempio CUDArt. Ad esempio, non ha senso per me provare a chiamare una funzione su un argomento x
quando quell'argomento non è accessibile al programma - come potrebbe essere anche possibile? Così, Gradirei qualsiasi aiuto a chiarire:
- Cosa significa "finalizzare" in Julia e
- Quando io/non vorrei usarlo nel contesto di importare .ptx moduli con CUDArt
È inoltre possibile eseguire manualmente il finalizzatore. con 'finalize (X)' –