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

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

Инфраструктура библиотек ускоренных вычислений для Cell Broadband Engine: Часть 3. Программирование ALF для Cell BE

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

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

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

Обсудить


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

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


Глава 18. Оптимизация приложений ALF

В данном разделе описаны пути оптимизации приложений ALF, в том числе:

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

Распределение данных на акселераторах

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

Дополнительная информация об использовании этой возможности приведена в разделе «Распределение данных на акселераторах» на стр. 23.



В начало


Применение рабочих блоков многократного использования

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

Пример применения рабочих блоков многократного использования приведен в разделе «Пример реализации 2: Применение рабочих блоков многократного использования в сочетании с буферами контекста задания или параметра и контекста рабочих блоков» на стр. 132.



В начало


Что следует принимать во внимание при компоновке данных

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

  • Выбирать корректный размер массивов данных для каждого рабочего блока. Часто локальная память акселератора ограничена. Если массивы данных не вмещаются в доступную память, может снизиться производительность. Например, если в приложении для платформы Cell BE размер входного буфера рабочего блока превышает 128 Кбайт, это может привести к невозможности использования двойной буферизации на сопроцессоре, что приведет к снижению производительности на 50%.
  • Минимизировать число пересылок данных. Частые пересылки данных могут снизить производительность приложений, поэтому следует избавиться от ненужных операций пересылки.
  • Упростить схемы пересылки данных. Хотя организация списков пересылки данных в ALF допускает высокую гибкость в сборе данных и компоновке результатов, лучше использовать как можно более простые схемы пересылки, например, последовательный доступ и пересылки больших массивов вместо маленьких.
  • Избегать реорганизации данных, которая требует дополнительной работы. Лучше организовывать данные так, чтобы их можно было без преобразования использовать в алгоритме, чем писать дополнительный код, приводящий данные к нужному для использования формату.
  • Учитывать ограничения в части выравнивания адресов на Cell BE.


В начало



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