2016-06-08 2 views
1

У меня есть код Fortran MPI с инструментами OpenACC. Это большой код. Ни в коем случае я не могу представить никаких значимых фрагментов. Он работает отлично под Cray aprun:Что может заставить nvprof не возвращать данные?

aprun -n 15 ./mycode 

Я хочу профилировать его с помощью nvprof. Стараюсь:

aprun -n 15 -b nvprof ./mycode 

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

======== Warning: No CUDA application was profiled, exiting 

Там нет другого сообщения об ошибке при условии. Кто-нибудь знает, что может вызвать такое поведение? Я компилирую с компилятором Cray MPI Fortran. Мои компиляции флаги

-Mdaz -traceback -Ktrap=inv -acc -ta=tesla,cuda6.5,cc35,nofma -Minfo=accel -Mcuda=cuda6.5,cc35 -I. -module . 

Модуль cudatoolkit загружается.

+1

Вероятно, проблема, когда приложение выходит, но буферы профилировщика не очищаются. Информация в этом [совете NVIDIA] (https://devblogs.nvidia.com/parallelforall/pro-tip-clean-up-after-yourself-ensure-correct-profiling/) может помочь. – njuffa

+0

@njuffa Знаете ли вы, есть ли эквиваленты Fortran для этих процедур? Благодарю. –

+1

Вы должны иметь возможность вызвать код C из Fortran. Если ваш компилятор поддерживает Fortran 2003, я бы предложил использовать привязки ISO C, иначе используйте специальный метод toolchain, описанный в документации вашего компилятора. – njuffa

ответ

2
aprun -n 15 -b nvprof --profile-child-processes ./mycode 

Для систем cray вы запускаете aprun из узла входа. aprun запускает процессы на вычислительных узлах. По умолчанию nvprof не будет профилировать дочерние процессы, поэтому опция --profile-child-processes профилирует порожденные процессы.

+1

Возможно, какой-то комментарий, что делает линия и почему? –

+0

@KVM: Не знакомы с платформой Cray и 'aprun', я предполагаю, что добавление' --profile-child-процессов' исправляет проблему афера, потому что без него 'nvprof' будет применяться к' aprun' самому, а не приложение CUDA, которое оно запускает? Было бы полезно, если бы вы могли расширить и уточнить свой ответ в этом отношении. – njuffa

+0

Не из леса, но похоже, что это был шаг вперед. Благодарю. –

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