Вопрос
Я ищу хорошую обертку OpenCL библиотеку для Python, с хорошей документацией. Я пытался искать некоторые ... но не смог найти достаточно хорошего.
Решение
Самый популярный и лучший документированный вариант, кажется, Пишец. Отказ Это претендует на полную обертку для OpenCL, и документация выглядит хорошо.
Другие советы
пик Является ли связывание CTYPES для OpenCL (размещена на битбукет)
Его основная цель проста: обернуть OpenCL таким образом, чтобы, как многие реализации Python могут использовать его как возможно. В настоящее время тестируется на Cpython 2. {5,6,7}, 3.2 и Pypy 1.5. Известно, что в основном не работают на Jython, чья библиотека CTYPES все еще незрела.
Чтобы добиться этого, мы расслаиваем модули расширения и зависимости вне стандартной библиотеки. Идеально такие вещи, как Numpy Armays и Pil-изображения, должны просто работать, но им не следует требоваться
Это в настоящее время довольно новое. Я играл с ним недавно, и он работает красиво. Не сделано время по сравнению с Pyopencl, но производительность, по-видимому, совершенно разумно
Я не работал для меня с OS X 10.6's Opencl 1.0 (и AMD Radeon 5870, посмотреть здесь), но отлично работает под 10,7 и Opencl 1.1
Что касается документации, это довольно прямые привязки к библиотекам C, поэтому любая документация поступит. Также «Приключения в Пёпенке» это хорошо, и относится почти к всем привязанию
Мы развиваемся opencl4py., привязки более высокого уровня. Этот проект использует CFFI, поэтому он работает на Pypy.
Основная проблема, которую мы столкнулись с Pyopencl, заключается в том, что «импорт Pyopencl» делает инициализацию OPENCL и принимает всю виртуальную память в случае драйвера NVIDIA, предотвращая правильный раздумчик и эффективно отключить многопроцессорную (да, мы утверждаем, что с использованием Pyopencl отключает многопроцессовое, по крайней мере, с NVIDIA ). OpenCL4PY использует Lazy OpenCL инициализацию, разрешая этот «импортный аду».
Позже он получил несколько приятных функций, таких как Super Easy Binary Caching программы и т. Д. К сожалению, документация несколько краткая. Лучший способ узнать, как он работает, проходит через тесты.