Сбор информации о коммуникативных операциях GASNet в Cray Chapel

Работа над базовым профилировщиком, который будет собирать время начала и окончания коммуникационных операций GASNet в Cray Chapel. Единственная идея, которая пришла в голову, - вставить инструкции в функции связи Chapel, чтобы получить время вызова функции. Есть ли способ сделать это без возни с языковым исходным кодом?

1 ответ

Решение

GASNet имеет мощную встроенную инфраструктуру отслеживания, которая может использоваться для сбора следов связи любого клиента GASNet. Это включается путем настройки GASNet с параметром --enable-trace. Существует также функция сбора статистических данных, доступная через --enable-stats. Для получения дополнительной информации об этом см. Раздел "Отслеживание и сбор статистики GASNet" в README здесь:

https://bitbucket.org/berkeleylab/gasnet/overview

Обратите внимание, что эти функции трассировки и статистики написаны главным образом для отладки GASNet и языковых систем времени выполнения и могут наложить заметные накладные расходы времени выполнения (ЦП и файловый ввод-вывод в случае трассировки). Также вся информация будет на уровне операций GASNet и мест памяти, а не на языке высокого уровня. Таким образом, он работает без изменений и даст вам много информации, но он не может идеально соответствовать вашим потребностям в профилировании часовни.

Другие вопросы по тегам