Префикс 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_
,