Префикс MPIR в MPICH/MVAPICH

Следующая ссылка представляет соглашения префиксов имен функций в MPICH/MVAPICH (например, префиксы MPID и MPIU)

Соглашение о префиксе имени функции в MPICH / MVAPICH

Мне просто интересно, что представляет собой префикс MPIR (не объяснено в ссылке выше)? На каком уровне это реализовано и какие слои имеют к нему доступ? Спасибо в Advnace

1 ответ

Решение

MPIR_ обычно используется для символов, которые определены в слое верхнего уровня, который находится ниже фактического MPI_ интерфейс, но выше интерфейса абстрактного устройства (ADI), чьи символы обычно имеют MPID_ префикс. Наиболее MPIU_ символы также определяются на этом уровне, но обычно они предназначены для совершенно отдельных служебных программ, которые не реализуют "бизнес-логику MPI". Как всегда с этими соглашениями об именах, соглашение не соблюдается на 100% строго во всех случаях.

Источник: мой мозг; Я занимаюсь разработкой MPICH более 5 лет.

Использование неMPI_ имена для подпрограмм, определенных внутри библиотеки, важны, так как это означает, что мы не будем случайно топать пространство имен MPI и потенциально конфликтуем с будущей стандартизацией или не будем путать пользователей с тем, что на самом деле является стандартной функциональностью: http://www.mpi-forum.org/docs/mpi22-report/node31.htm

Мы используем формат декларации ISO C. Все имена MPI имеют MPI_ префикс, определенные константы имеют все заглавные буквы, а определенные типы и функции имеют одну заглавную букву после префикса. Программы не должны объявлять переменные или функции с именами, начинающимися с префикса MPI_, Для поддержки интерфейса профилирования программы не должны объявлять функции с именами, начинающимися с префикса. PMPI_,

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