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

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

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

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

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

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

Обсудить


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

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


Глава 6. Распределение данных

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

API ALF обеспечивает следующие методы распределения данных:

  • «Распределение данных на основном процессоре»
  • «Распределение данных на акселераторах»

Эти методы описаны в следующих разделах.

Распределение данных на основном процессоре

Для распределения данных приложения для основного процессора используются специальные API. Чтобы выполнить такое распределение, следует построить списки пересылки данных для рабочих блоков посредством таких вызовов, как alf_wb_dtl_begin, alf_wb_dtl_entry_add и alf_wb_dtl_end.

Этот способ особенно полезен в тех случаях, когда данные, ассоциированные с рабочими блоками, просты, и программа основного процессора может управлять распределением данных для всех акселераторов.



В начало


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

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



В начало


Функции для распределения данных на акселераторах

Разработчики акселераторных библиотек должны предусмотреть подпрограммы для выполнения распределения данных для ввода (alf_accel_input_dtl_prepare) и вывода (af_accel_output_dtl_prepare) и генерации соответствующих списков пересылки данных.



В начало


Адреса в основной памяти

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

Пример такой процедуры приведен в разделе «Распределение данных на акселераторе на примере сложения матриц» на стр. 126



В начало



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