Гибридная вычислительная системаГибридная вычислительная система — система с гетерогенной аппаратной вычислительной структурой. Комбинация любых вычислительных устройств или блоков, например вычисления с помощью CPU и GPU совместно.[1][2] ИсторияОбычно основным вычислительным компонентом систем для высокопроизводительных вычислений, включая кластеры, является центральный процессор. Однако, уже начиная с процессоров Intel486DX в составе компьютеров появился такой элемент, как сопроцессор, что можно считать гибридизацией на аппаратном уровне. В середине 2000-х для вычислительных целей начали использовать графический процессор (GPU).[1] Основная проблема состоит в том, чтобы найти способы выполнять вычислительные задачи с помощью графического процессора. Осознав спрос на подобные вычисления, компания NVIDIA в 2007 году представила программно-аппаратную платформу CUDA, позволяющую запускать произвольный код на GPU. До появления CUDA, программистам приходилось строить гибридные системы из обычных видеокарт и программировать их, используя сложнейшие графические API. Компания ATI разработала свои аналоги CUDA для GPGPU применений. Это технологии ATI Stream и Close to Metal. Ожидалось, что новая архитектура Intel Larrabee будет поддерживать технологии GPGPU. Однако фактически выпущенный в рамках линейки Intel MIC продукт, Xeon Phi поддерживал только вычисления общего назначения (совместим с x86_64), лишившись возможностей графического процессора. Последующие варианты Xeon Phi реализовывались не только в виде карт расширения PCI Express, но и в виде единственного центрального процессора. Технические особенности
GPUВысокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 8х, 2018 г., на северных может встречаться максимум до 64х), графический процессор изначально создавался как многоядерная структура, в которой количество ядер измеряется сотнями(пример — Nvidia 1070 имеет 1920 ядер). Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления.[3] Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объёме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно — в задаче должен наблюдаться параллелизм.
Процессоры IBM Cell, использовавшиеся в игровых приставках Sony PlayStation 3, содержали два типа ядер: PPE - ядро общего назначения, и массив из 8 SPE сопроцессоров. Применение в распределенных вычисленияхПрограмма для GRID-вычислений BOINC поддерживает возможность использования графического процессора для выполнения вычислительных задач.[6] См. такжеЛитература
Ссылки
Примечания
|