IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Open source | Linux  >

Инфраструктура библиотек ускоренных вычислений для Cell Broadband Engine. Руководство программиста и справочник по функциям: Часть 1. Обзор ALF

Software Development Kit for Multicore Acceleration (Инструментарий разработчика для ускоренных многоядерных вычислений)

developerWorks
Страница 1 из 7 На предыдущую страницу

Опции документа

Обсудить


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Уровень сложности: средний

IBM developerWorks, IBM developerWorks, IBM Japan, Software Group

22.04.2009

Настоящее руководство программиста содержит детальную информацию по использованию функций (API) инфраструктуры библиотек ускоренных вычислений (Accelerated Library Framework, ALF)

Глава 1. Что такое ALF?

Инфраструктура библиотек ускоренных вычислений (Accelerated Library Framework, ALF) представляет собой среду программирования для создания прикладных программ и библиотек с параллельным выполнением задач и параллельной обработкой данных. Система интерфейсов прикладного программирования ALF обеспечивает программиста набором интерфейсов для упрощения разработки библиотек в гетерогенных многоядерных системах. Инфраструктуру можно использовать для переноса задач, требующих интенсивной вычислительной работы, на акселераторы. Сочетая использование нескольких библиотек, выполняющих разгрузку функций, можно разрабатывать более сложные приложения. Есть возможность также создавать приложения, непосредственно работая с интерфейсом ALF.

ALF поддерживает модель программирования MPMD (множество программ при множестве данных), то есть несколько программ могут выполняться на нескольких акселераторных элементах одновременно.

Функциональность ALF включает:

  • управление переносом данных;
  • управление параллельными заданиями;
  • двойную буферизацию;
  • динамическую балансировку нагрузки для параллельных заданий по обработке данных.

Используемый интерфейс прикладного программирования позволяет также создавать описания для множественных вычислительных заданий и определять порядок их выполнения, задавая зависимости между заданиями. Параллельно выполняются задания, не имеющие прямой или косвенной зависимости друг от друга. Среда исполнения ALF составляет оптимальный план параллельного выполнения заданий на основе заданных зависимостей.

Распределение функций в ALF

С точки зрения программиста прикладных задач или библиотек, ALF состоит из двух следующих компонентов периода исполнения:

  • библиотека периода исполнения основного процессора;
  • библиотека периода исполнения акселератора.

Библиотека периода исполнения основного процессора содержит интерфейсы API основного процессора. Библиотека периода исполнения акселератора содержит интерфейсы API для кода, исполняемого на акселераторе (обычно это программы вычислительного ядра и вспомогательные программы). Это разделение функций позволяет программистам специализироваться на создании различных частей общего параллельного задания.



В начало


Задания ALF

ALF устроена так, что позволяет распределять вычислительную нагрузку. В соответствии с этим в рамках одного приложения могут существовать три различных типа задания:

Прикладное задание

Программы создаются только на уровне основного процессора, при этом используемые библиотеки акселератора не требуют непосредственного знания внутреннего устройства нижележащей системы.

Акселераторная библиотека

API ALF используются для предоставления библиотечных интерфейсов для вызова вычислительных ядер на акселераторах. Программист разделяет задачу на управляющий процесс, исполняемый основным процессором, и на вычислительное ядро, исполняемое на акселераторах. Затем входные и выходные данные распределяются на рабочие блоки, обработку которых ALF может назначить нескольким акселераторам.

Вычислительное ядро

Создается оптимизированный код непосредственно для акселератора. API ALF обеспечивает типовой интерфейс для автоматического вызова вычислительных заданий инфраструктурой.



В начало


Среда исполнения ALF

Среда исполнения обеспечивает управление подчиненным заданием, перемещение данных и обработку ошибок, что означает концентрацию на разделении ресурсов ядра и распределении данных, а не создании списков прямого доступа к памяти (DMA) или управлении рабочими очередями.

Интерфейсы прикладного программирования ALF являются платформно-независимыми, и их устройство основано на том, что многие приложения, созданные для Cell BE или многоядерных вычислений, строятся на следующей типовой схеме: разделение набора данных на независимые блоки, создание списка блока данных, подлежащих обработке на сопроцессорах SPE (synergistic processing element), и затем управление распределением этих данных по разным процессам SPE. Такой сценарий организации вычислительного процесса, в сочетании с соответствующим определением рабочим очередей, является фундаментальными принципами в ALF.



В начало



Страница 1 из 7 На предыдущую страницу
    IBM в России Конфиденциальность Контакты