ОТКРЫТЫЙ CL, Python и параллелизм

голоса
0

В качестве стартера в Open CL, у меня есть простой вопрос понимания для оптимизации вычислений на GPU.

Насколько я понял, что я могу сделать то матрицу 1000 X 1000 и положить один код на каждый пиксель в то же время с помощью GPU. Как насчет следующей опции:

  • У меня есть 100 раз в 100 х 100 матрицы и нужно вычислить их по- разному. Поэтому мне нужно
    сделать серийное или я могу начать 100 экземпляров, то я начинаю 100 Python multiprocesses и каждые стрелять вычисление матрицы на GPU (assumning thetre достаточно ресурсов).

  • Другой путь круглый, я одна матрица 1000 X 1000 и 100 другой экземпляр, чтобы вычислить, я могу сделать это, как то же самое время или последовательной обработки?

Любые советы или понятие, как решить этот быстрый способ ценятся

Благодаря Adrian

Задан 23/04/2014 в 20:15
пользователем
На других языках...                            


1 ответов

голоса
1

Модель выполнения OpenCL вращается вокруг ядра, которые являются только функции, которые выполняются для каждой точки в вашей проблемной области. При запуске ядра для выполнения на вашем OpenCL устройстве, вы определяете индексное пространство 1, 2 или 3-мерного для этого домена (так называемого NDRange или глобального размером работы). Это полностью зависит от вас, как вы карты NDRange на вашу реальную проблему.

Например, вы можете запустить NDRange, который 100x100x100, для того, чтобы обработать 100 комплектов 100х100 матриц (при условии, что они являются независимыми). Ваше ядро ​​затем определяет вычисление для одного элемента одного из этих матриц. В качестве альтернативы, вы можете запустить 100 ядер, каждый с 100х100 NDRange, чтобы достичь того же. Первая из них является, вероятно, быстрее, так как это позволяет избежать накладных расходов на запуск нескольких ядер.

Я настоятельно рекомендую взглянуть на спецификации OpenCL для получения дополнительной информации о модели выполнения OpenCL. В частности, раздел 3.2 имеет большое описание основных понятий , окружающее выполнение ядра.

Ответил 23/04/2014 в 20:34
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more