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

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

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

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

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

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

Обсудить


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

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


Глава 8. Когда следует использовать совмещенный буфер ввода-вывода

Применение совмещенного буфера ввода-вывода предусмотрено для оптимизации использования памяти акселераторов. Это особенно полезно, когда память акселератора ограничена and input and output data. Для каждого экземпляра задания среда исполнения ALF предусматривает возможность создания совмещенного буфера ввода-вывода. Буфер доступен как из определенного пользователем вычислительного ядра, так и из функций input_dtl_prepare и output_dtl_prepare. В каждом совмещенном буфере ввода-вывода для каждого рабочего блока можно динамически определять три типа областей:

  • ALF_BUF_OVL_IN: в эту область копируются данные из основной памяти до вызова вычислительного ядра;
  • ALF_BUF_OVL_OUT: данные из этой области записываются в основную память после вызова вычислительного ядра;
  • ALF_BUF_OVL_INOUT: в эту область копируются данные из основной памяти до вызова вычислительного ядра, а после вызова ее содержимое переписывается в тот же участок основной памяти.

Примеры использования совмещенного буфера ввода-вывода приведены в разделе «Пример использования совмещенного буфера ввода-вывода» на стр. 133.

Что следует учитывать при использовании совмещенного буфера ввода-вывода

При использовании совмещенного буфера ввода-вывода следует убедиться, что области входных данных, определенные параметрами ALF_BUF_OVL_IN и ALF_BUF_OVL_INOUT, не перекрываются.

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


Рис. 8. Поврежденный совмещенный буфер ввода-вывода
Рис. 8. Поврежденный совмещенный буфер ввода-вывода

Если разбиение данных предполагается осуществлять на акселераторе, необходимо создать списки пересылки данных для входного буфера, совмещенного входного буфера, а также совмещенного буфера ввода-вывода в определяемой пользователем функции alf_accel_input_dtl_prepare, и создать списки пересылки данных как для выходного буфера, так и для совмещенного выходного буфера в определяемой пользователем функции alf_accel_output_dtl_prepare.



В начало



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