Описание тега pyopencl

PyOpenCL предоставляет Pythonic доступ к API параллельных вычислений OpenCL.
0 ответов

pyopencl ставит ядро ​​в очередь, чтобы создать только один рабочий элемент на строку в 2d буфере

Как правильно представить 2D-изображение в pyopencl, но поставить в очередь только один рабочий элемент на строку, а не один рабочий элемент на пиксель? Кажется, что ndrange хочет сделать по одному элементу для каждого пикселя или пиксельного компон…
15 июн '18 в 21:28
2 ответа

Передача структуры в openCL Kernel

Я хочу передать структуру в ядро ​​opencl, структура struct test { int *x; float *y; char *z; }; и распределение памяти и инициализация похожи struct test t; t.x = (int*)malloc(sizeof(int)*100); t.y = (float*) malloc (sizeof(float)*50); t.z = (char*…
01 фев '13 в 10:57
2 ответа

Хранение ядра в отдельном файле - PyOpenCL

Я пытаюсь сохранить часть кода ядра с 3 """в другом файле. Я пытался сохранить его как текстовый файл и файл bin, и прочитать его, но не смог добиться успеха с этим. Это начало давать мне ошибку, говоря, что "" "отсутствует, или) отсутствует. "Однак…
22 сен '16 в 16:57
1 ответ

Проблемы с памятью Python27

Я пытаюсь обработать некоторые данные, используя python, но часто сталкиваюсь с "MemoryError". Для обработки данных мне нужно выполнить цикл ~400 раз. Проблема в том, что каждый раз, когда я вхожу в этот цикл 20-30 раз, я получаю "MemoryError". При …
21 апр '14 в 14:06
1 ответ

Может ли OpenCL на APU использовать всю память?

Можно ли собрать машину с чем-то вроде 32 ГБ ОЗУ и использовать около 28 ГБ с OpenCL? Мой текущий APU - Athlon 5350 с "глобальным объемом памяти", о котором сообщалось, 2142658560. Я немного поиграл с pyopencl с CL_MEM_USE_HOST_PTR, но я не нашел сп…
01 май '18 в 23:42
1 ответ

PyOpenCL сокращение Ядро на каждый пиксель изображения в виде массива вместо каждого байта (режим RGB, 24 бита)

Я пытаюсь вычислить среднюю яркость изображения RGB. Для этого я нахожу яркость каждого пикселя, т.е. L(r,g,b) = X*r + Y*g + Z*b (some linear combination). А затем найдите среднее значение, суммируя яркость всех пикселей и деля на ширину * высоту. Ч…
04 май '14 в 06:58
1 ответ

Не квадратное матричное умножение в Opencl

Я хочу сделать матричное умножение с двумя неквадратными матрицами (2000,100), (100,100), я пытаюсь использовать блочную подматрицу, как в примере с Nvidia, но результат неверный, я нашел здесь решенный метод. Не квадратное матричное умножение в CUD…
30 июн '12 в 13:09
0 ответов

PyOpenCL kron Kernel

Основной код: from definitions import * import pyopencl as cl import numpy from time import time N = 16 num_iter = 10 a = numpy.random.rand(N,N).astype(numpy.float32) b = numpy.random.rand(N,N).astype(numpy.float32) print('Starting native iterations…
11 сен '16 в 05:58
2 ответа

clSetKernelArg возвращает код ошибки -49

Я написал следующий код C++. В clSetKernelArg( kernel, 8, sizeof( cl_mem ), (void *) &mob_whdis );, это возвращает error code -49и я не понимаю почему. Все остальное работает правильно. Может кто-нибудь мне помочь? cl_mem mob_X = NULL; cl_mem mo…
15 июл '13 в 10:11
1 ответ

Нет модуля с именем pyopencl (Py2exe)

У меня возникли некоторые проблемы с модулем PyOpenCL при попытке сделать.exe из Py2Exe. Py2Exe создает.exe так, как должен (нет "ImportError: здесь нет модуля с именем pyopencl"), но когда я запускаю.exe, он говорит, что нет модуля с именем pyopenc…
29 сен '12 в 14:29
1 ответ

AttributeError: у объекта 'CommandQueue' нет атрибута 'dtype'

Я пытаюсь вычислить БПФ с pyFFT. Но следующий код приводит к ошибке. self.ctx = cl.create_some_context(interactive=False) self.queue = cl.CommandQueue(self.ctx) self.plan = Plan(fft_size, self.queue) gpu_data0 = cl_array.to_device(self.ctx, self.que…
26 июн '14 в 22:16
1 ответ

Добавить результат OpenCL в список / Уменьшить пространство решения

У меня есть ядро ​​OpenCL с несколькими рабочими элементами. Предположим для обсуждения, что у меня есть двумерное рабочее пространство с элементами x*y, работающими с массивом входных элементов одинакового размера, но с небольшим количеством элемен…
19 апр '16 в 11:51
2 ответа

Компиляция pyopencl

Я пытаюсь скомпилировать pyopencl на Ubuntu 12.10 в каталоге virtualenv, но, похоже, выдает ошибку: gcc -pthread -fno-strict-aliasing -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DBOOST_PYTHON_SOURCE=1 -DPYOPENCL_USE_DEVICE_FISSION=1 -…
27 ноя '12 в 22:32
1 ответ

Ядро PyOpenCL не применяется ко всему массиву

Я хотел получить демонстрацию Elementwise, которая поставляется с PyOpenCL, и решил попробовать это: from __future__ import absolute_import from __future__ import print_function import pyopencl as cl import pyopencl.array as cl_array import numpy fr…
19 ноя '18 в 00:08
1 ответ

Почему это ядро ​​pyopencl не может правильно преобразовать скаляры в цвета?

Я написал ядро ​​opencl для преобразования скалярных значений в цвета, потому что выполнение этого в обычном python занимает несколько секунд. К сожалению, ядро ​​(которое является урезанной версией некоторой логики, которая работает в другом месте)…
17 май '16 в 17:53
1 ответ

PyOpencl - неверные аргументы переданы Kernell

Я с трудом выполняю базовую скалярную операцию с PyOpenCl. По сути, я пытаюсь сделать, учитывая массив типа с плавающей точкой, умножить каждый элемент массива на скалярное число с плавающей точкой и поместить результат в новый буфер. Это должно быт…
29 дек '14 в 16:57
1 ответ

Выполнение одного и того же цикла for во многих потоках GPU с использованием OpenCL

Мне нужно вычесть 2D-массив, Dот многих других двухмерных массивов. Я линеаризовал (сплющил) все массивы: D является массивом из 25 элементов, и imges является одномерным массивом, в котором 4 25-элементных массива были объединены. Значение: если я …
28 окт '15 в 21:20
1 ответ

Как использовать многопроцессорную очередь Python для доступа к GPU (через PyOpenCL)?

У меня есть код, выполнение которого занимает много времени, и поэтому я исследовал многопроцессорную библиотеку Python, чтобы ускорить процесс. Мой код также имеет несколько шагов, которые используют GPU через PyOpenCL. Проблема заключается в том, …
13 апр '15 в 18:46
1 ответ

В Python, как передать скалярный аргумент в ядро ​​OpenCL?

Я использую привязки Python для OpenCL, и я написал ядро, которое ожидает скалярный (float) аргумент, но я не могу найти правильный способ передать его. Если я просто призываю prg.bloop(queue, [width,height], None, centers_g, 16/9, result_g) Я получ…
19 апр '16 в 17:10
1 ответ

Умножение матриц PyOpenCL

У меня есть этот код для умножения матриц с помощью pyopenCL. Моя проблема в том, что в некоторых матрицах результат неверен, и я не понимаю, почему. После некоторого исследования я думаю, что это связано с глобальным размером чего-то подобного, но …
05 мар '13 в 22:08