fdvmLDr (1158337), страница 12

Файл №1158337 fdvmLDr (Раздаточные материалы) 12 страницаfdvmLDr (1158337) страница 122019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 12)

dvm-directive

is specification-directive

or executable-directive

specification-directive

is processors-directive

or align-directive

or distribute-directive

or template-directive

or pointer-directive

or shadow-directive

or dynamic-directive

or inherit-directive

or remote-group-directive

or reduction-group-directive

or task-directive

or heap-directive

or asyncid-directive

executable-directive

is realign-directive

or redistribute-directive

or parallel-directive

or remote-access-directive

or shadow-group-directive

or shadow-start-directive

or shadow-wait-directive

or reduction-start-directive

or reduction-wait-directive

or new-value-directive

or prefetch-directive

or reset-directive

or parallel-task-loop-directive

or map-directive

or task-region-directive

or end-task-region-directive

or on-directive

or end-on-directive

or f90-directuive

or asynchronous-directive

or end-asynchronous-directive

or asyncwait-directive

Ограничения:

  • Cпецкомментарий directive-line подчиняется правилам написания комментария в фиксированной форме.

  • Директивы спецификации должны находиться в разделе спецификаций.

  • Исполняемые директивы должны находиться среди исполняемых операторов.

  • Любое выражение, входящее в директиву спецификации, должно быть выражением спецификации.

Выражение спецификации – это выражение, в котором каждое первичное должно быть одной из следующих форм:

  1. константа,

  2. переменная, которая является формальным аргументом,

  3. переменная из COMMON блока,

  4. ссылка на встроенную функцию, где каждый аргумент является выражением спецификации,

  5. выражение спецификации, заключенное в скобки.

3. Массивы виртуальных процессоров. Директива PROCESSORS

processors-directive

is PROCESSORS processors-decl-list

processors-decl

is processors-name ( explicit-shape-spec-list )

explicit-shape-spec

is [ lower-bound : ] upper-bound

lower-bound

is int-expr

upper-bound

is int-expr

Ограничения.

  • Разрешается использовать несколько массивов виртуальных процессоров разной формы при следующем условии: количество процессоров в каждом массиве должно быть равно значению встроенной функции NUMBER_OF_PROCESSORS ( ).

  • Массивы данных с атрибутами COMMON и SAVE могут быть отображены на локальные массивы виртуальных процессоров при следующем условии: при каждом вызове процедуры локальный массив процессоров имеет одно и то же определение.

4.1. Директивы DISTRIBUTE и REDISTRIBUTE

distribute-directive

is dist-action distributee dist-directive-stuff

or dist-action [ dist-directive-stuff ] :: distributee-list

dist-action

is DISTRIBUTE

or REDISTRIBUTE

dist-directive-stuff

is dist-format-list [ dist-onto-clause ]

distributee

is array-name

or pointer-name

or template-name

dist-format

is BLOCK

or GEN_BLOCK ( block-size-array )

or WGT_BLOCK ( block-weight-array , nblock)

or *

dist-onto-clause

is ONTO dist-target

dist-target

is processors-name [(processors-section-subscript-list )]

or task-name ( task-index )

processors-section-subscript

is [ subscript ] : [ subscript ]

subscript

is int-expr

nblock

is int-expr

block-size-array

is array-name

block-weight-array

is array-name

Ограничения:

  • Длина списка dist-format-list должна быть равна количеству измерений массива. Т.е. для каждого измерения должен быть задан формат распределения.

  • Количество распределенных измерений массива (формат задан не *) должно быть равно количеству измерений массива процессоров в dist-target.

  • Массив block-size-array в спецификации GEN_BLOCK, должен быть одномерным целочисленным массивом, размер которого равен размеру соответствующего измерения массива процессоров, а сумма значений его элементов равна размеру распределяемого измерения.

  • Массив block-weight-array в спецификации WGT_BLOCK, должен быть одномерным массивом типа DOUBLE PRECISION.

  • В одном списке dist-format-list не может быть указан формат GEN_BLOCK и формат WGT_BLOCK.

  • Директива REDISTRIBUTE может применяться только к массивам со спецификацией DYNAMIC.

  • Отсутствие dist-directive-stuff допустимо только в директиве DISTRIBUTE. В этом случае распределяемый массив может использоваться только после выполнения директивы REDISTRIBUTE.

4.2.2. Динамические массивы в модели FDVM. Директива POINTER

pointer-directive

is type , POINTER ( dimension-list ) :: pointer-name-list

dimension

is :

pointer-name

is scalar-int-variable-name

or int-array-name

heap-directive

is HEAP array-name-list

Ограничения:

  • Переменной с атрибутом POINTER может быть присвоено только значение функции ALLOCATE или значение другой переменной с атрибутом POINTER.

  • Количество измерений в левой и правой части оператора присваивания переменной с атрибутом POINTER должны совпадать.

4.3.1. Директивы ALIGN и REALIGN

align-directive

is align-action alignee align-directive-stuff

or align-action [ align-directive-stuff ] :: alignee‑list

align-action

is ALIGN

or REALIGN

align-directive-stuff

is ( align-source-list ) align-with-clause

alignee

is array-name

or pointer-name

align-source

is *

or align-dummy

align-dummy

is scalar-int-variable

align-with-clause

is WITH align-spec

align-spec

is align-target ( align-subscript-list )

align-target

is array-name

or template-name

or pointer-name



align-subscript

is int-expr

or align-dummy-use

or *

align-dummy-use

is [ primary-expr * ] align‑dummy [ add-op primary-expr ]

primary-expr

is int-constant

or int-variable

or ( int-expr )

add-op

is +

or -

Ограничения:

  • Длина списка align-source-list должна быть равна количеству измерений выравниваемого массива.

  • Длина списка align-subscript-list должна быть равна количеству измерений базового массива align-target.

  • Директива REALIGN может применяться только к массивам со спецификацией DYNAMIC.

  • Отсутствие align-directive-stuff допустимо только в директиве ALIGN. В этом случае распределяемый массив может использоваться только после выполнения директивы REALIGN.

4.3.2. Директива TEMPLATE

template-directive

is TEMPLATE template-decl-list

template-decl

is template-name [ ( explicit-shape-spec-list ) ]

4.4. Директивы DYNAMIC и NEW_VALUE

dynamic-directive

is DYNAMIC alignee-or-distributee-list

alignee-or-distributee

is alignee

or distributee

Характеристики

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7029
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее