Анализ программ OpenMP с помощью усилителя Intel VTune: что такое & quot; карта памяти для печати gtip & quot;

Я пытаюсь проанализировать поведение масштабирования C ++ — программы, которую я распараллелил с Intel OpenMP и Intel Composer XE 2014. Когда я запускаю «Advanced Hotspot Analyses», в результате я получаю библиотечную функцию «kmp print». «Карта памяти gtip» потребляет вторую самую длинную часть общего времени выполнения. Я погуглил смысл этой рутины, но я не получил результатов. Связана ли эта процедура с структурами данных std :: map, которые я использую в этой части алгоритма?
Заранее спасибо!

РЕДАКТИРОВАТЬ
Теперь я снял один барьер и мог все ускорить. Но теперь новый Hotspot вступает в игру. Вдруг когда я делаю замки & Анализ ожидания у меня на первой позиции: «OMP Join Barrier mkl_blas_daxpy_omp: 115» и «OMP Join Barrier mkl_blas_dcopy: 155» «. Но я не вызываю никакую процедуру mkl явно. Как я могу исследовать это дальше?

1

Решение

__kmp_print_storage_map_gtid вызывается всякий раз, когда переменная среды KMP_STORAGE_MAP установлен в true или же verbose, Он выводит в стандартный поток ошибок информацию о расположении различных объектов, используемых библиотекой времени выполнения OpenMP. Поскольку операции ввода-вывода в целом медленные, неудивительно, что это занимает много времени выполнения вашей программы, особенно когда речь идет о коротких тестовых примерах.

поскольку KMP_STORAGE_MAP недокументировано и его значение по умолчанию falseможно с уверенностью предположить, что он используется только в особых случаях другими инструментами, например, VTune во время анализа горячих точек. Когда ваша программа работает нормально, функция вообще не вызывается.

1

Другие решения

Вы можете отследить вызов MKL в своем коде, глядя на панель стека справа, когда точка доступа mkl_blas_dcopy выбрана снизу вверх — вы должны увидеть цепочку вызовов вплоть до main (). Может быть, какая-то другая библиотека, вызываемая из вашего кода, использует MKL.
введите описание изображения здесь

1

По вопросам рекламы [email protected]