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

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

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

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

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

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

Обсудить


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

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


Приложение C. Трассировочные события в ALF

Ниже перечислено определенные трассировочные события в ALF. В большинстве случаев каждая функция имеет две трассировочных ловушки:

  • Первая ловушка отслеживает входные значения
  • Вторая ловушка отслеживает выходные значения, а также время выполнения функции

Трассировочные ловушки функций ALF

Активируются с помощью: TRACE_ALF_DEBUG.

Идентификатор отладочной ловушкиОтслеживаемые значения
_ALF_DATASET_ASSOCIATE_ENTRYtask_handle, dataset_handle
_ALF_DATASET_ASSOCIATE_EXIT_INTERVALretcode
_ALF_DATASET_BUFFER_ADD_ENTRYdataset_handle, buffer, size, access_mode
_ALF_DATASET_BUFFER_ADD_EXIT_INTERVALretcode
_ALF_DATASET_CREATE_ENTRYalf_handle, p_dataset_handle
_ALF_DATASET_CREATE_EXIT_INTERVALdataset_handle, retcode
_ALF_DATASET_DESTROY_ENTRYdataset_handle
_ALF_DATASET_DESTROY_EXIT_INTERVALretcode
_ALF_EXIT_ENTRYalf_handle, exit_policy, timeout
_ALF_EXIT_EXIT_INTERVALretcode
_ALF_GENERIC_DEBUGlong1, long2, long3, long4, long5, long6, long7, long8, long9, long10
_ALF_INIT_ENTRYsys_config_info, alf_handle_ptr
_ALF_INIT_EXIT_INTERVALrtn
_ALF_NUM_INSTANCES_SET_ENTRYalf_handle, number_of_instances
_ALF_NUM_INSTANCES_SET_EXIT_INTERVALretcode
_ALF_QUERY_SYSINFO_ENTRYalf_handle, query_info, accel_type, p_query_result
_ALF_QUERY_SYSINFO_EXIT_INTERVALquery_result, retcode
_ALF_REGISTER_ERROR_HANDLER_ENTRYalf_handle, error_handler_function, p_context
_ALF_REGISTER_ERROR_HANDLER_EXIT_INTERVALretcode
_ALF_TASK_CREATE_ENTRYtask_desc_handle, p_task_context_data, num_accelerators, tsk_attr, wb_dist_size, p_task_handle
_ALF_TASK_CREATE_EXIT_INTERVALtask_handle, retcode
_ALF_TASK_DEPENDS_ON_ENTRYtask_handle_dependent, task_handle
_ALF_TASK_DEPENDS_ON_EXIT_INTERVALretcode
_ALF_TASK_DESC_CREATE_ENTRYalf_handle, accel_type, task_desc_handle_ptr
_ALF_TASK_DESC_CREATE_EXIT_INTERVALdesc_info_handle, retcode
_ALF_TASK_DESC_CTX_ENTRY_ADD_ENTRYtask_desc_handle, data_type, size
_ALF_TASK_DESC_CTX_ENTRY_ADD_EXIT_INTERVALretcode
_ALF_TASK_DESC_DESTROY_ENTRYtask_desc_handle
_ALF_TASK_DESC_DESTROY_EXIT_INTERVALretcode
_ALF_TASK_DESC_SET_INT32_ENTRYtask_desc_handle, field, value
_ALF_TASK_DESC_SET_INT32_EXIT_INTERVALretcode
_ALF_TASK_DESC_SET_INT64_ENTRYtask_desc_handle, field, value
_ALF_TASK_DESC_SET_INT64_EXIT_INTERVALretcode
_ALF_TASK_EVENT_HANDLER_REGISTER_ENTRYtask_handle, task_event_handler, p_data, data_size, event_mask
_ALF_TASK_EVENT_HANDLER_REGISTER_EXIT_INTERVALretcode
_ALF_TASK_FINALIZE_ENTRYtask_handle
_ALF_TASK_FINALIZE_EXIT_INTERVALretcode
_ALF_TASK_QUERY_ENTRYtalk_handle, p_unfinished_wbs, p_total_wbs
_ALF_TASK_QUERY_EXIT_INTERVALunfinished_wbs, total_wbs, retcode
_ALF_TASK_WAIT_ENTRYtask_handle, time_out
_ALF_TASK_WAIT_EXIT_INTERVALretcode
_ALF_WB_CREATE_ENTRYtask_handle, work_block_type, repeat_count, p_wb_handle
_ALF_WB_CREATE_EXIT_INTERVALwb_handle, retcode
_ALF_WB_DTL_SET_BEGIN_ENTRYwb_handle, buffer_type, offset_to_the_local_buffer
_ALF_WB_DTL_SET_BEGIN_EXIT_INTERVALretcode
_ALF_WB_DTL_SET_END_ENTRYwb_handle
_ALF_WB_DTL_SET_END_EXIT_INTERVALretcode
_ALF_WB_DTL_SET_ENTRY_ADD_ENTRYwb_handle, p_address, size_of_data, data_type
_ALF_WB_DTL_SET_ENTRY_ADD_EXIT_INTERVALretcode
_ALF_WB_ENQUEUE_ENTRYwb_handle
_ALF_WB_ENQUEUE_EXIT_INTERVALretcode
_ALF_WB_PARM_ADD_ENTRYwb_handle, pdata, size_of_data, data_type, address_alignment
_ALF_WB_PARM_ADD_EXIT_INTERVALretcode

Ловушки для повышения производительности

Данные ловушки активируются группой директив LIBALF_PERF (0x08) в конфигурационном файле.

Ловушки COUNTERS и TIMERS содержат данные, накапливаемые в процессе выполнения функций ALF. В имеющихся версиях эти данные и события трассировки передаются при активации различных функций, выполняющих выход из ALF.

Идентификатор ловушкиОтслеживаемые значения
_ALF_GENERIC_PERFORM_HOSTlong1, long2, long3, long4, long5, long6, long7, long8, long9, long10
_ALF_GENERIC_PERFORM_SPUlong1, long2, long3, long4, long5, long6, long7, long8, long9, long10
_ALF_HOST_COUNTERSalf_task_creates, alf_task_waits, alf_wb_enqueues, thread_total_count, thread_reuse_count, x
_ALF_HOST_TIMERSalf_runtime, alf_accel_utilize, x1, x2
_ALF_SPU_COUNTERSalf_input_bytes, alf_output_bytes, alf_workblock_total, double_buffer_used, x1, x2
_ALF_SPU_TIMERSalf_lqueue_empty, alf_wait_data_dtl, alf_prep_input_dtl, alf_prep_output_dtl, alf_compute_kernel, alf_spu_task_run, x1, x2
_ALF_TASK_BEFORE_EXEC_INTERVALtask_flag
_ALF_TASK_CONTEXT_MERGE_INTERVALtask_flag
_ALF_TASK_CONTEXT_SWAP_INTERVALtask_flag
_ALF_TASK_EXEC_INTERVALtask_flag
_ALF_THREAD_RUN_INTERVALtask_flag
_ALF_WAIT_FIRST_WB_INTERVALtask_flag, wb_flag, packet_flag
_ALF_WB_COMPUTE_KERNEL_INTERVALtask_flag, wb_flag, wb idx
_ALF_WB_DATA_TRANSFER_WAIT_INTERVALtask_flag, wb_flag, wb idx
_ALF_WB_DTL_PREPARE_IN_INTERVALtask_flag, wb_flag, wb idx
_ALF_WB_DTL_PREPARE_OUT_INTERVALtask_flag, wb_flag, wb idx
_ALF_WB_LQUEUE_EMPTY_INTERVALtask_flag, packet_flag


В начало


Ловушки SPU ALF

Данные ловушки активируются группой директив LIBALF_SPU (0x09) в конфигурационном файле.

Идентификатор ловушкиОтслеживаемые значения
_ALF_ACCEL_COMP_KERNEL_ENTRYp_task_context, p_parm_ctx_buffer, p_input_buffer, p_output_buffer, p_inout_buffer, current_iter, num_iter
_ALF_ACCEL_COMP_KERNEL_EXITretcode
_ALF_ACCEL_DTL_BEGIN_ENTRYp_dtl, buf_type, offset
_ALF_ACCEL_DTL_BEGIN_EXITp_dtl, retcode
_ALF_ACCEL_DTL_END_ENTRYp_dtl
_ALF_ACCEL_DTL_END_EXIT _retcode
_ALF_ACCEL_DTL_ENTRY_ADD_ENTRYp_dtl, data_size, data_type, p_host_address
_ALF_ACCEL_DTL_ENTRY_ADD_EXITretcode
_ALF_ACCEL_INPUT_DTL_PREPARE_ENTRYp_task_context, p_parm_ctx_buffer, p_dtl, current_iter, num_iter
_ALF_ACCEL_INPUT_DTL_PREPARE_EXITretcode
_ALF_ACCEL_NUM_INSTANCESretcode
_ALF_ACCEL_OUTPUT_DTL_PREPARE_ENTRYp_task_context, p_parm_ctx_buffer, p_io_container, current_iter, num_iter
_ALF_ACCEL_OUTPUT_DTL_PREPARE_EXITretcode
_ALF_ACCEL_TASK_CONTEXT_MERGE_ENTRYp_task_context_to_be_merged, p_task_context
_ALF_ACCEL_TASK_CONTEXT_MERGE_EXITretcode
_ALF_ACCEL_TASK_CONTEXT_SETUP_ENTRYp_task_context
_ALF_ACCEL_TASK_CONTEXT_SETUP_EXITretcode
_ALF_INSTANCES_IDretcode
_ALF_SPE_GENERIC_DEBUGlong1, long2, long3, long4, long5, long6, long7, long8, long9, long10


В начало



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