8.2.7 _gfortran_caf_send — Передача данных с локального изображения на удаленное
- Описание:
-
Вызывается для отправки скаляра, части массива или всего массива с локального на удалённое изображение, идентифицированное индексом изображения.
- Синтаксис:
-
void _gfortran_caf_send (caf_token_t token, size_t offset, int image_index, gfc_descriptor_t *dest, caf_vector_t *dst_vector, gfc_descriptor_t *src, int dst_kind, int src_kind, bool may_require_tmp) - Аргументы:
-
token intent(in) Непрозрачный указатель, идентифицирующий комассив. offset Сдвиг в байтах фактических данных относительно базового адреса комассива. image_index Идентификатор удалённого изображения; должно быть положительным числом. dest intent(in) Описание массива удалённого изображения для границ и размера. К базовому адресу доступа нет. dst_vector intent(int) Если не NULL, содержит индекс вектора целевого массива; значения относительны к тройному индексу измерения аргумента dest. src intent(in) Описание локального массива, который необходимо передать на удалённое изображение dst_kind Тип целевого аргумента src_kind Тип исходного аргумента may_require_tmp Переменная имеет значение false, если известно во время компиляции, что массивы dest и src не могут перекрываться или перекрываются (полностью или частично) так, что обход src и dest в порядке элементов (с учётом значения шага) не приведёт к неправильным результатам. Иначе значение true. - ПРИМЕЧАНИЯ
-
Разрешено, чтобы image_id было равно текущему изображению; память отправки и получения может (частично) перекрываться в этом случае. Реализация должна позаботиться о обработке этого случая, например, с помощью
memmove, которая обрабатывает (частично) перекрывающуюся память. Если may_require_tmp имеет значение true, библиотека может дополнительно создать временную переменную, если дополнительные проверки не покажут, что это не требуется (например, потому что обратный обход возможен или потому что оба массива непрерывны иmemmoveобрабатывает проблемы перекрытия).Обратите внимание, что присвоение скаляра массиву разрешено. Кроме того, библиотека должна обрабатывать преобразование числовых типов и для строк, заполнение и различные типы символов.
Следующее: _gfortran_caf_get, Предыдущее: _gfortran_caf_deregister, Вверх: Документация ABI функций [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gfortran/_005fgfortran_005fcaf_005fsend.html