2013-12-18 2 views
0

Я разрабатываю проект MPI + cuda, и я попытался профилировать свое приложение с помощью nvvp и nvprof, но в обоих случаях он не дает профиля. Приложение работает отлично, но профиль не создается.Профилирование MPI + Cuda

Я пробовал с примером simpleMPI cuda с тем же результатом.

Я использую CUDA 5.0 в 580 GTX и OpenMPI 1.7.3 (признакам, еще не выпустить, потому что я тестирования CUDA-осведомленный опция)

Любые идеи? Большое спасибо.

+2

Вы пытаетесь создать профиль под linux? Потому что на linux os я должен перейти к полному абсолютному пути к приложению к nvprof. Если я не пройду, я получаю такое же предупреждение, как и вы. – hubs

ответ

1

mpirun сам по себе не является приложением CUDA. Вы должны запустить профилировщик, как mpirun -np 2 nvprof MPI_test. Но вы также должны убедиться, что каждый экземпляр nvprof (два экземпляра в этом случае) записывает в другой выходной файл. Открытый MPI экспортирует переменную среды OMPI_COMM_WORLD_RANK, которая дает ранг процесса в MPI_COMM_WORLD. Это можно использовать только в другой оболочке, например. wrap_nvprof:

#!/bin/bash 
nvprof -o profile.$OMPI_COMM_WORLD_RANK $* 

Это должно работать как mpirun -n 2 ./wrap_nvprof executable <arguments> и после того, как он закончил там должно быть два выходных файлов с информацией о профиле: profile.0 для ранга 0 и profile.1 для ранга 1.

Edit: Там находится пример сценария оболочки nvprof, который делает то же самое более изящным способом и обрабатывает как Open MPI, так и MVAPICH2 в документации nvvp. Версия скрипта воспроизводится в this answer на вопрос, что ваш более или менее дубликат.

+0

Я уже тестировал скрипт в ответе, который вы говорите. Но проблема была в пути к исполняемому файлу, nvprof нуждается в ./MPI_test, поэтому 'mpirun -n 2 ./wrap_nvprof/path_to_executable ' - правильный путь. Большое спасибо! – jgonzac

+0

Это зависит от того, как 'nvprof' выполняет двоичный файл. Относительные пути, например. './executable', вероятно, тоже будет работать. –

+0

Да, конечно, я имею в виду, что 'nvprof' нуждается в'./'Или'/'перед исполнением, по крайней мере, в моем случае. – jgonzac

Смежные вопросы