7.2.13 _gfortran_caf_sendget — Передача данных между удалёнными изображениями
- Описание:
-
Вызывается для отправки скаляра, секции массива или целого массива из удалённого изображения, идентифицированного src_image_index, в удалённое изображение, идентифицированное dst_image_index.
- Синтаксис:
-
void _gfortran_caf_sendget (caf_token_t dst_token, size_t dst_offset, int dst_image_index, gfc_descriptor_t *dest, caf_vector_t *dst_vector, caf_token_t src_token, size_t src_offset, int src_image_index, gfc_descriptor_t *src, caf_vector_t *src_vector, int dst_kind, int src_kind, bool may_require_tmp, int *stat) - Аргументы:
-
dst_token intent(in) Непрозрачный указатель, идентифицирующий целевой комассив. dst_offset intent(in) Сдвиг в байтах фактических данных по отношению к базовому адресу целевого комассива. dst_image_index intent(in) Идентификатор целевого удалённого изображения; должно быть положительное число. dest intent(in) Описание массива для целевого удалённого изображения для границ и размера. base_addrнедоступно.dst_vector intent(int) Если не NULL, содержит индекс вектора целевого массива; значения относительны к тройке измерений аргумента dest. src_token intent(in) Непрозрачный указатель, идентифицирующий исходный комассив. src_offset intent(in) Сдвиг в байтах фактических данных по отношению к базовому адресу исходного комассива. src_image_index intent(in) Идентификатор исходного удалённого изображения; должно быть положительное число. src intent(in) Описание локального массива, который должен быть передан в удалённое изображение. src_vector intent(in) Описание локального массива, который должен быть передан в удалённое изображение. dst_kind intent(in) Тип целевого аргумента src_kind intent(in) Тип исходного аргумента may_require_tmp intent(in) Переменная false, если на этапе компиляции известно, что dest и src либо не могут перекрываться, либо перекрываются (полностью или частично) так, что обход src и dest в порядке элементов (учитывая шаг) не приведёт к неправильным результатам. В противном случае значениеtrue.stat intent(out) Если не NULL, содержит результат операции, т.е. ноль при успехе и ненулевое значение при ошибке. Если NULL и произошла ошибка, то выводится сообщение об ошибке, и программа завершается. - ПРИМЕЧАНИЯ
-
Разрешено иметь один и тот же индекс изображения для src_image_index и dst_image_index; память send-to и send-from в этом случае может частично перекрываться. Реализация должна учитывать этот случай, например, используя
memmove, который обрабатывает частичное перекрытие памяти. Если may_require_tmp истинно, библиотека может дополнительно создать временную переменную, если дополнительные проверки не покажут необходимости (например, если обратный обход возможен или если оба массива являются непрерывными иmemmoveобрабатывает вопросы перекрытия).Обратите внимание, что разрешено присваивание скаляра массиву. Кроме того, библиотека должна обрабатывать преобразование типов чисел и для строк, заполнение и различные типы символов.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/_005fgfortran_005fcaf_005fsendget.html