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

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

Инфраструктура библиотек ускоренных вычислений для Cell Broadband Engine : Часть 4. Справочник по функциям

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

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

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

Обсудить


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

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


Глава 23. Дополнительные API платформы Cell BE

Данные API не являются частью основного набора API ALF. Они используются только на платформе Cell BE. Нижеследующие примеры демонстрируют их использование.

int alf_accel_input_dtl_prepare 
			(void* p_task_context, void *p_parm_context, void *p_dtl, 
			unsigned int current_iter, unsigned int num_iter)
{
mfc_element_t *p_dma_list;
unsigned int max_entry, cnt;

ALF_ACCEL_DTL_BEGIN(p_dtl, ALF_IO_BUF_IN, 0);
ALF_ACCEL_DTL_ENTRY_ADD(p_dtl, 16, ALF_DATA_INT32, ea_global_data_1);
ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_GET(p_dtl, &p_dma_list, &max_entry);
for(cnt=0; cnt<100 && cnt <max_entry; cnt++)
{
p_dma_list[cnt] =	.;
}
ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_UPDATE(p_dtl, cnt);
ALF_ACCEL_DTL_ENTRY_ADD(p_dtl, 24, ALF_DATA_INT32, ea_global_data_2);
ALF_ACCEL_DTL_END(p_dtl);
}

ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_GET

ИМЯ

ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_GET — Получает буферы списка внутренних DMA.

СИНОПСИС

ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_GET 
			(void *p_dtl, void **pp_dma_list_buffer, 
			unsigned int *p_max_entries);

Параметры

p_dtl [IN]Указатель на буфер, содержащий список пересылки данных.
pp_dma_list_buffer [OUT]Возвращает указатель на буфер со списком внутренних DMA.
p_max_entries [OUT]Возвращает максимально допустимое число элементов в данном буфере

ОПИСАНИЕ

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

Ее следует вызывать после ALF_ACCEL_DTL_BEGIN и до ALF_ACCEL_DTL_END. После данного вызова функцию ALF_ACCEL_DTL_ENTRY_ADD можно использовать не раньше, чем была вызвана ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_UPDATE.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

0Вызов API корректно завершен.
меньше 0В процессе выполнения функции возникла ошибка. Код ошибки передается обработчику событий.

ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_UPDATE

ИМЯ

ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_UPDATE — Актуализирует внутреннюю структуру данных, когда завершается процедура прямого доступа.

СИНОПСИС

ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_UPDATE (void *p_dtl, unsigned int num_entries);

Параметры

p_dt_list_buffer [IN]Указатель на буфер со списком пересылки данных.
num_entries [IN]Число элементов списка DMA, заполненной в процессе обращения с прямым доступом.

ОПИСАНИЕ

Данная служебная функция актуализирует внутреннюю структуру данных, когда завершается процедура прямого доступа. Ее следует вызывать после ALF_ACCEL_DTL_CBEA_DMA_LIST_BUFFER_GET и до ALF_ACCEL_DTL_END. Любые дальнейшие обращения к ALF_ACCEL_DTL_ENTRY_ADD могут совершаться лишь после этого вызова.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Не определено



В начало



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