Вопрос

Достаточно скоро у нас будет nVidia GTX 300, который сможет выполнять несколько инструкций для нескольких данных (MIMD). Интересно, может ли OpenCL выполнить MIMD?

Это было полезно?

Решение

См. http://www.hpccommunity.org. / f55 / programming-gp-gpus-options-answers-616 / , который я нашел на первой странице результатов Google для поиска по "opencl mimd". Соответствующие цитаты:

" Open CL был разработан Apple Computer и представляет собой стандартный API для GP-GPU и многоядерного оборудования. ... Модель мощная и поддерживает как параллельную обработку данных (GP-GPU), так и параллельную обработку задач (многоядерный). OpenCL явно был нацелен на разрешение ситуации с многоядерными процессорами и GP-GPU, поскольку он поддерживает как параллельные данные, так и параллельные задачи задачи

Другими словами: да, модель языка OpenCL может представлять вычисления MIMD так же, как и SIMD.

Очевидно, что любая конкретная реализация OpenCL может поддерживать вычисления MIMD GPU - это другой вопрос. Я бы предположил, что любая реализация OpenCL, которая поддерживает nVidia GTX 300, будет поддерживать его способность MIMD, и, конечно, у nVidia есть очень сильные стимулы для того, чтобы иметь какую-то программную поддержку для этого устройства, когда они выпустят его! Поэтому разумно ожидать, что у них будет реализация OpenCL, которая поддерживает возможность MIMD в GTX 300, хотя она может быть или не быть частью первого SDK для него.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top