У меня вопрос по работе с библиотеками Python CUDA из пакетов Accelerate и numba от Continuum. Является ли использование декоратора @jit
с target = gpu
таким же, как @cuda.jit
?
Разница между @cuda.jit и @jit(target='gpu')
Ответы (1)
Нет, они не одинаковы, хотя конечный путь компиляции в PTX на ассемблере одинаков. Декоратор @jit
— это общий путь к компилятору, который можно при желании направить на устройство CUDA. Декоратор @cuda.jit
фактически представляет собой низкоуровневый диалект ядра Python CUDA, разработанный Continuum Analytics. Таким образом, вы получаете поддержку встроенных переменных CUDA, таких как threadIdx
, и спецификаторов пространства памяти, таких как __shared__
в @cuda.jit
.
Если вы хотите написать ядро CUDA на Python, скомпилировать и запустить его, используйте @cuda.jit
. В противном случае, если вы хотите ускорить существующую часть Python, используйте @jit
с целью CUDA.
person
Community
schedule
09.03.2016