next up previous contents
Next: Привязка языка ФОРТРАН Up: Привязка к языку Previous: Привязка к языку   Contents

Нерекомендуемые имена и функции

Ряд глав ссылается на нерекомендуемые или замененные конструкции MPI- 1. Это конструкции, которые продолжают быть частью стандарта MPI, но от использования которых пользователям рекомендуют отказаться, так как MPI-2 обеспечивает лучшие решения. Например, привязка языкаФОРТРАН для функций MPI-1, которые имеют аргументом адреса, использует INTEGER. Это не совместимо с привязкой Си, и вызывает проблемы на машинах с 32-разрядными INTEGER и 64-разрядными адресами. В MPI-2 эти функции имеют новые имена и новые привязки для аргументов адреса. Использование старых функций не рекомендуется. Для постоянства в таких и в некоторых других случаях также предусматриваются новые функции Си несмотря на то, что новые функции эквивалентны старым функциям. Старые имена не рекомендуются. Другой пример обеспечивает MPI-1 предопределенными типами данных MPI_UB и MPI_LB. Они не рекомендуются, так как их использование неуклюже и подвержено ошибкам, в то время как MPI-2 функция MPI_TYPE_CREATE_RESIZED обеспечивает более удобный механизм, чтобы достичь того же эффекта.

Далее приведен список всех нерекомендуемых конструкций. Обратите внимание, что константы MPI_LB и MPI_UB заменены функцией MPI_TYPE_CREATE_RESIZED; это потому, что их основное использование - входные типы данных к MPI_TYPE_STRUCT для создания измененных типов данных. Также обратите внимание, что некоторые значения по умолчанию языка Си и имена подпрограмм языка ФОРТРАН включены в этот список; они - типы функций повторного вызова.

Нерекомендуемые Замена MPI-2
1emMPI_ADDRESS MPI_GET_ADDRESS
MPI_TYPE_HINDEXED MPI_TYPE_CREATE_HINDEXED
MPI_TYPE_HVECTOR MPI_TYPE_CREATE_HVECTOR
MPI_TYPE_STRUCT MPI_TYPE_CREATE_STRUCT
1emMPI_TYPE_EXTENT MPI_TYPE_GET_EXTENT
MPI_TYPE_UB MPI_TYPE_GET_EXTENT
MPI_TYPE_LB MPI_TYPE_GET_EXTENT
MPI_LB MPI_TYPE_CREATE_RESIZED
MPI_UB MPI_TYPE_CREATE_RESIZED
1emMPI_ERRHANDLER_CREATE MPI_COMM_CREATE_ERRHANDLER
MPI_ERRHANDLER_GET MPI_COMM_GET_ERRHANDLER
MPI_ERRHANDLER_SET MPI_COMM_SET_ERRHANDLER
MPI_Handler_function MPI_Comm_errhandler_fn
1emMPI_KEYVAL_CREATE MPI_COMM_CREATE_KEYVAL
MPI_KEYVAL_FREE MPI_COMM_FREE_KEYVAL
MPI_DUP_FN MPI_COMM_DUP_FN
MPI_NULL_COPY_FN MPI_COMM_NULL_COPY_FN
MPI_NULL_DELETE_FN MPI_COMM_NULL_DELETE_FN
MPI_Copy_function MPI_Comm_copy_attr_function
COPY_FUNCTION COMM_COPY_ATTR_FN
MPI_Delete_function MPI_Comm_delete_attr_function
DELETE_FUNCTION COMM_DELETE_ATTR_FN
1emMPI_ATTR_DELETE MPI_COMM_DELETE_ATTR
MPI_ATTR_GET MPI_COMM_GET_ATTR
MPI_ATTR_PUT MPI_COMM_SET_ATTR



Alex Otwagin 2002-12-10