Я пытаюсь использовать Intel Advisor для понимания горячей точки в моем приложении.
Вот флаги компиляции и компоновщика, которые я использую:
INTEL_OPT=-O3 -simd -xCORE-AVX2 -parallel -ipo -qopenmp -fargument-noalias -ansi-alias -no-prec-div -fp-model fast=2
INTEL_PROFILE=-g -qopt-report=5 -Bdynamic -shared-intel -debug inline-debug-info -qopenmp-link dynamic -parallel-source-info=2 -ldl
Это образец изображения, взятого из этот руководство:
Это скриншот из моего приложения:
Я не понимаю, что все эти функции раньше _clone
, [stack]
, _start
а также _libc_start_main
являются.
Джеймс прав: такие вещи, как _clone, [stack], _start и _libc_start_main, соответствуют CRT, системным библиотекам Cray (если вы используете Cray env), внутренним компонентам времени выполнения OMP или общим системным вызовам.
Кроме того, в вашем профиле, по-видимому, не активирована какая-либо информация о векторизации (пустое «почему нет векторизации», нет разбивки остатков отслаивания, нет показателей эффективности SIMD и т. Д.). Поскольку ваши флаги компиляции кажутся разумными, мое следующее предположение заключается в том, что вы либо разбираете отладочную информацию в отдельный файл, либо используете довольно старую версию ICL. Удаление ipo также может помочь включить пропущенную информацию.
Других решений пока нет …