Мы разрабатываем opencl4py , привязки более высокого уровня.В этом проекте используется CFFI, поэтому он работает на Pypy.
Основная проблема, с которой мы столкнулись при работе с pyopencl, заключается в том, что import pyopencl выполняет инициализацию OpenCL и забирает всю виртуальную память в случае драйвера NVIDIA, предотвращая правильное разветвление иэффективно отключить многопроцессорность (да, мы утверждаем, что использование pyopencl отключает многопроцессорность по крайней мере с NVIDIA).opencl4py использует ленивую инициализацию OpenCL, разрешая этот «адский импорт».
Позже он получил несколько полезных функций, таких как сверхлегкое кэширование двоичных программ и т. д. К сожалению, документация несколько краткая.Лучший способ узнать, как это работает, - пройти тесты.