В настоящее время я работаю с пакетом CUDArt. GitHub documentation включает следующий фрагмент кода при загрузке модуля PTX, содержащий пользовательские CUDA C ядро:Что значит «финализировать» в Джулии?
md = CuModule("mycudamodule.ptx", false) # false means it will not be automatically finalized
(комментарий в оригинале)
Я пытаюсь понять, что именно этот false
варианта для завершения средств и когда я/не хотел бы использовать его. Я наткнулся на этот пост на SO (What is the right way to write a module finalize method in Julia?). Он цитирует Джулии документации как:
финализации (х, функция)
зарегистрировать функцию F (X), которая будет вызвана, когда нет программы доступных ссылок на х. Поведение этой функции непредсказуемо, если x имеет битовый тип.
Я действительно не понимаю, что это значит, или даже если финализация здесь такая же, как и в примере CUDArt. Например, мне не имеет смысла пытаться вызвать функцию по аргументу x
, когда этот аргумент недоступен для программы - как это возможно? Таким образом, я был бы признателен за любую помощь в разъяснении:
- Что значит «завершить» в Джулию и
- Когда я/не хотел бы использовать его в контексте импорта .ptx модулей с CUDArt
Вы также можете вручную запустить финализатор. с 'finalize (X)' –