Перейти к содержимому

Том Мельцер — Отладка HPC-приложений с помощью mdb

Scientific Computing in Rust

0:00 / 0:00

Том Мельцер — Отладка HPC-приложений с помощью mdb

229 просмотров · 3 мес. назад
Scientific Computing in Rust
2,94 тыс. подписчиков
229 просмотров · 3 мес. назад
Запись доклада, прочитанного на онлайн-семинаре Scientific Computing in Rust 2026. Проблема: Современное состояние рынка бесплатных и открытых отладчиков MPI оставляет желать лучшего. Существуют проприетарные варианты (например, linaro ddt, TotalView), но они требуют платных лицензий. Как инженер-программист, работающий с коллегами над теми системами, к которым у них есть доступ, — это означает, что я часто перехожу с одной высокопроизводительной вычислительной системы на другую. Некоторые поставщики услуг HPC просто не могут позволить себе стоимость лицензий и могут предоставлять один инструмент, другой или вообще ничего. В результате, полагаясь на эти инструменты, вы можете оказаться в неведении, когда они перестанут быть доступны. Кроме того, каждый из этих проприетарных инструментов имеет свой собственный интерфейс и команды, которые необходимо будет заново изучать при переходе на другую систему. Мое предлагаемое решение: mdb — это новый отладчик FOS для приложений MPI, поддерживающий Rust, C, C++ и Fortran. По сути, это оболочка для отладчиков командной строки, например, gdb, lldb и т. д. Отладчик GNU gdb является де-факто стандартом для отладки программ в последовательном интерфейсе. Благодаря повсеместному распространению gdb, mdb позволяет пользователям повторно использовать свои существующие знания команд отладки для отладки кода MPI практически на любой системе, на которой они хотят работать. mdb в основном является надмножеством gdb, предоставляя большую часть основной функциональности с некоторыми дополнениями, специфичными для параллельных вычислений, которые помогают при отладке приложений MPI. В этом докладе я объясню, почему я создал mdb, как он работает, и продемонстрирую в реальном времени отладку простого кода MPI, написанного на Rust. Новая поддержка AMD: Я рад сообщить, что недавно добавил поддержку rocgdb, которая позволяет пользователям отлаживать ядра и память, поддерживающие MPI, на графических процессорах AMD, например, MI300.