VTune неправильно запустил приложение

# #intel #profiler #intel-vtune

Вопрос:

При удаленном профилировании Intel VTune, похоже, не может правильно запустить приложение.

Я настраиваю .sh свою цель в качестве сценария конфигурации приложения для запуска vtune. И amplex-python показывает, что скрипт успешно запущен, но не приложение. почему?окно amplex-python вот мой .sh скрипт:

 MPIRUN=/opt/intel/oneapi/mpi/latest/bin/

SRC_DIR=$(pwd)
#make clean
#make -j8

cd ..
ROOT_DIR=$(pwd)
echo "SRC_DIR:"$SRC_DIR
echo "ROOT_DIR:"$ROOT_DIR

cd $SRC_DIR
# $MPIRUN/mpirun -n 64 -host 1ibHost,3ibHost -env UCX_TLS=ud_verbs,ud_mlx5 /home/inspur/nfsIPCC/myprog 
$MPIRUN/mpirun -n 108 -host 1ibHost,3ibHost -env UCX_TLS=ud_verbs,ud_mlx5 $SRC_DIR/main 0.005  $ROOT_DIR/data/ipcc_gauge_24_72  24 24 24 72  8 8 8 18
 

Ответ №1:

Если вы используете сценарий оболочки в качестве целевого приложения для профилирования с помощью VTune, вам необходимо добавить shebang в начале сценария:

 #!/bin/bash
MPIRUN=/opt/intel/oneapi/mpi/latest/bin/

SRC_DIR=$(pwd)
#make clean
#make -j8

cd ..
ROOT_DIR=$(pwd)
echo "SRC_DIR:"$SRC_DIR
echo "ROOT_DIR:"$ROOT_DIR

cd $SRC_DIR
# $MPIRUN/mpirun -n 64 -host 1ibHost,3ibHost -env UCX_TLS=ud_verbs,ud_mlx5 /home/inspur/nfsIPCC/myprog 
$MPIRUN/mpirun -n 108 -host 1ibHost,3ibHost -env UCX_TLS=ud_verbs,ud_mlx5 $SRC_DIR/main 0.005  $ROOT_DIR/data/ipcc_gauge_24_72  24 24 24 72  8 8 8 18
 

Это требуется execve() и описано в разделе описание.
Также обратите внимание, что в соответствии с документацией vtune команда должна выполняться с использованием mpirun :

 mpirun [options] vtune [options] <program> [<args>]
 

Это описано в разделе Настройка анализа MPI с помощью справочного раздела профилировщика VTune.