| |
Есть интервалы времени, во время которых было бы удобно иметь действия,
происходящие, когда заканчивается процесс MPI. Например, подпрограмма
может делать инициализации, которые являются полезными, пока закончится
работа MPI (или та часть работы, которая заканчивается в случае
динамически созданных процессов). Это может быть выполнено в MPI-2,
прикреплением атрибута к MPI_COMM_SELF
с функцией повторного вызова.
Когда MPI_FINALIZE
вызывается, она сначала выполнит эквивалент
MPI_COMM_FREE
на MPI_COMM_SELF
. Это заставит удаляющую
функцию повторного вызова быть выполненной на всех ключах, связанных с
MPI_COMM_SELF
, в произвольном порядке. Если никакой ключ не был
приложен к MPI_COMM_SELF
, то никакой повторный вызов не будет
вызван. ``Освобождение'' MPI_COMM_SELF
происходит прежде, чем
воздействуют любые другие части MPI. Таким образом, например, вызов
MPI_FINALIZED
возвратит false
в любой из этих функций
повторного вызова. Однажды сделанный с MPI_COMM_SELF
, порядок и
остаток действий, принятых MPI_FINALIZE
, не определен.
Совет разработчикам: Так как атрибуты могут быть добавлены из любого поддерживаемого языка, реализация MPI должна помнить создающий язык, так чтобы сделать правильный повторный вызов. []
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |