La novità interessante, rispetto ad accrocchi come PyCUDA, è che il codice dei kernels si scrive direttamente in Python, mentre con i sistemi precedenti avevi lo scheletro in Python e i kernels in CUDA C/C++ (una variante del C++ standard).
I sistemi ibridi non li tollero perchè ti obbligano a mischiare due linguaggi, trattare con i potenziali bug di interfaccia, i wrapper, ecc... Tutto questo aumenta la fragilità dell'applicazione e i potenziali problemi di compatibilità col futuro.
Esatto. E tra l'altro col nuovo approccio non soltanto si ha una maggiore stabilità (lavori sempre in Python, per cui i rischi di segmentation fault per qualche minchiata sono ridotti ai minimi termini), ma una produttività molto più elevata: hai un solo strumento, coerente, con cui scrivere (velocemente, visto che parliamo di Python) il tuo codice.
Questo unito ad avanzate shell interattive come DreamPie, porta la produttività a livelli altissimi.
Invece NumbaPro taglia la testa al toro e fai tutto in Python, e amen
Sì, e pure le prestazioni sono molto elevate. Numba è un progetto nuovo, ma che sta già dando parecchie soddisfazioni da questo punto di vista.
In questo modo si riesce anche a ridurre l'unico collo di bottiglia di Python (la velocità d'esecuzione, appunto).