Я пытаюсь установить Valgrind
с полной поддержкой MPI
под Linux. Согласно Valgrind documentation. Я должен скомпилировать с уже установленным MPI
, но в соответствии с документацией MPICH и OpenMPI я должен скомпилировать с уже установленным Valgrind
. Это довольно запутанно, так что я должен установить первым?Компиляция Valgrind с поддержкой MPI
ответ
Вы говорите, что собираетесь установить valgrind с поддержкой MPI. Это означает, что вы можете использовать mpicc или какой-либо другой компилятор mpi. То, что спрашивает valgrind, должно быть построено с тем же компилятором. Если вы собираетесь отлаживать любой из этих компиляторов mpi с помощью valgrind, вам необходимо следовать инструкциям в разделе интеграции Valgrind.
Информация о том, какой дистрибутив вы используете, отсутствует. В системе Debian valgrind-mpi может быть пакетом, который вы ищете.
Здесь нет круговой зависимости. Скорее вы сталкиваетесь с двумя разными методами, которые размещают запросы клиента Valgrind в разных местах.
Открытый MPI может быть построен с поддержкой OMPI-поддержки Valgrind. Это отличается от создания Memchecker поддержкой MPI в том, что он также позволяет проверять внутренние компоненты OMPI (поэтому он также требует включения отладки в OMPI). Клиентские запросы Memchecker становятся частью кода библиотеки очень специфичным для OMPI образом. Это не требует внесения изменений в код Valgrind, т. Е. Он должен работать с любой установкой Valgrind (при условии, что требования к минимальной версии удовлетворяются)
С другой стороны, Open MPI, а также любая другая реализация MPI, предоставляет PMPI
профилирующий интерфейс. Это может быть использовано Memchecker для обеспечения поддержки MPI. Как описано в документации, Memchecker создает библиотеку функций, которые заменяют (и обертывают) исходные вызовы MPI (так работает механизм PMPI
- все вызовы MPI_*
являются слабыми символами и могут быть переопределены другими символами с тем же именем, истинные вызовы MPI на самом деле PMPI_*
и MPI_*
определены как слабые псевдонимы на ELF-системах). Это не требует изменений в коде библиотеки MPI. Он должен работать с любой реализацией MPI, но только пользовательская память будет правильно отлаживаться, то есть ложные срабатывания могут быть обнаружены внутри кода библиотеки MPI (хотя они не должны быть ложными срабатываниями и могут означать, что сама библиотека ошибочна).
То же самое касается поддержки Valgrind в MPICH.
- 1. Компиляция MPI с mingw
- 2. компиляция valgrind с использованием uCLibc
- 3. компиляция проекта mpi с mingw64
- 4. Компиляция Sphinx с поддержкой xmlpipe2
- 5. Компиляция Plplot с поддержкой Qt5
- 6. Компиляция Node.js с поддержкой OpenSSL
- 7. компиляция vim с поддержкой python
- 8. Компиляция Python с поддержкой curses
- 9. MPI и Valgrind, не отображающие номера строк
- 10. Кросс-компиляция Valgrind для ARM
- 11. Компиляция MPI/VTK Hello World
- 12. Компиляция ffmpeg с flascc с поддержкой сети
- 13. Как получить CMake для создания программы Fortran с поддержкой MPI?
- 14. компиляция vim с поддержкой python на Ubuntu
- 15. Компиляция Mosquitto MQTT 1.4.8 с поддержкой websocket
- 16. Компиляция Qt 4.7.4 с поддержкой поддержки X11
- 17. Компиляция с поддержкой и запуском AVX2
- 18. Компиляция nodejs с поддержкой vtune и jitprofiling.h
- 19. компиляция vim на msys2 с поддержкой python
- 20. Компиляция R с поддержкой Cairo без X11
- 21. Компиляция GVim с поддержкой Python 3
- 22. Mix Компиляция MPI и CUDA с динамическим параллелизмом
- 23. Может кто-нибудь объяснить эту ошибку valgrind с открытым mpi?
- 24. Отладка Valgrind + gdb с MPI, ошибка в библиотеке?
- 25. Может кто-нибудь объяснить этот выход valgrind с открытым mpi?
- 26. Редактирование и компиляция кода MPI FORTRAN
- 27. Компиляция гибридных CUDA/MPI и CUDA/UPC
- 28. Компиляция двоичного кода для работы с valgrind на Snow Leopard
- 29. MPI матрица мультипликация компиляция err: необъявленная с кодом
- 30. как скомпилировать MPI и не-MPI версию той же программы с automake?
Извините, если мой оригинальный пост был недостаточно ясным. Я намерен отлаживать свои собственные приложения MPI с помощью Valgrind, а не с самими компиляторами MPI. В документации Valgrind говорится о настройке с помощью --with-mpicc =/path/to/mpicc, поэтому здесь предполагается, что у вас установлена версия любого дистрибутива MPI. Однако в документации OpenMPI, например, говорится, что нужно настроить с помощью --enable-debug --enable-memchecker --with-valgrind =/path/to/valgrind - который я не могу сделать, прежде чем я установил Valgrind естественно , – user787267
Мое первоначальное понимание выглядит хорошо. Вы должны быть в порядке, если вы устанавливаете компилятор mpi, а затем создаете valgrind с помощью '--with-mpicc =/path/to/mpicc'. Трудно продолжать так. Если у вас есть какие-либо проблемы в форме ошибок или так будет очень полезно. – vpit3833