cdvmUGr (1158406), страница 2
Текст из файла (страница 2)
DVM-pointer should be a C-pointer
«DVM-указателем должен быть описан как указатель в C».
DVM(* …) требует <type> * <id>.
'*' is valid only with DISTRIBUTE and ALIGN
«’*’ допустима только с директивами DISTRIBUTE и ALIGN »
’*’ можно использовать только в директивах DISTRIBUTE и ALIGN.
Only 1D-arrays of ptrs to DVM-arrays supported
«Только одномерные массивы указателей на распределенные массивы допустимы».
Ограничение компилятора.
Unsupported declarator for distributed data
«Недопустимый декларатор для распределенных данных».
Can not initialize DVM-objects
«Нельзя указывать инициализатор для DVM объектов и массивов».
DVM declarator syntax error
«Синтаксическая ошибка в деклараторе».
Прочие синтаксические ошибки в деклараторе.
4.5Объявление и использование DVM-объектов
Undefined
«Не определен»
Неопределенный идентификатор используется в DVM-директиве. Последовательная программа при этом могла компилироваться, если идентификатор используется только в DVM-директивах.
This is not a DVM-object
«Это не DVM-объект»
Объект, используемый в DVM-директиве, не является DVM-объектом.
Rank error
«Несоответствие ранга»
Ранги объекта при описания и использовании разные и т.п.
This is not a REDUCTION_GROUP
«Это не REDUCTION_GROUP ».
DVM-директива требует параметры определенного класса.
This is not a SHADOW_GROUP
«Это не SHADOW_GROUP ».
DVM-директива требует параметры определенного класса.
This is not a REMOTE_GROUP
«Это не REMOTE_GROUP ».
DVM-директива требует параметры определенного класса.
This is not a TASK
«Это не TASK ».
DVM-директива требует параметры определенного класса.
An array of void* required
«Требуется массив указателей void * »
MAP-target must be a processors section
«MAP требует секции процессоров».
ON-target must be an element of task array
«ON требует элемента массива задач».
4.6DISTRIBUTE, ALIGN, TEMPLATE
'[*]' is only allowed in DVM( * DISTRIBUTE...)
«’[*]’ допустимо только в DVM( * DISTRIBUTE…).»
Array should be defined as DVM(DISTRIBUTE...)
«Массив должен быть описан как DVM(DISTRIBUTE…) »
DVM-массив должен быть описан как DVM(DISTRIBUTE…).
GENBLOCK requires non-distributed 1D integer array
«GENBLOCK требует нераспределенного одномерного массива типа int.»
ONTO target must be a TASK or a PROCESSORS
«ONTO требует DVM-объект типа TASK или PROCESSORS.»
ONTO target must be an element of task array
«ONTO требует элемент массива задач.»
Align-expression syntax: [-][A*]var[+B|-B]
«Синтаксис выражения выравнивания: [-][A*]var[+B|-B] »
Разрешено только выражение, линейное относительно var.
Already used align|do variable
«Уже использованная переменная выравнивания цикла»
Два выражения выравнивания с одной и той же переменной не допускаются.
The base of a static should be a (known) static
«Базовый массив для выравнивания статического сам должен быть (уже определенным) статическим»
Статические (с константными размерностями) DVM-массивы автоматически создаются с помощью malloc в начале функции main в порядке их объявления. Базовый массив должен уже создан до выравнивания (ALIGN) по нему создаваемого массива.
The parameter should be a (non-static) TEMPLATE
«Параметр должен быть (не ‘статическим’) TEMPLATE »
Неверный параметр директивы CREATE-TEMPLATE.
4.7malloc и доступ к распределенным данным
DVM-malloc requires (dim1*...*sizeof(...))
«malloc для распределенного массива требует параметра в виде (dim1*…*sizeof(…))»
При создании массива необходимо задание всех измерений массива.
Is it 'sizeof(<element type>)' ?
«Это sizeof(<element>) ?»
Последний сомножитель записан не в такой форме; может быть, потерян?
Only DVM-arrays may be malloc'ed
«Только DVM-массивы могут создаваться с помощью malloc »
При создании DVM-массива с помощью функции malloc задан DVM-указатель.
Static DVM-array can not be malloc'ed
«Статические массивы нельзя создавать с помощью malloc »
И не нужно: они создаются автоматически в начале функции main.
Only DVM-pointers may be assigned
«Только DVM-указателям можно присваивать значения»
Только DVM-указателям можно присваивать значения других указателей и DVM-массивов.
REDISTRIBUTE|REALIGN must follow this malloc
«После этого malloc требуется REDISTRIBUTE или REALIGN »
Чтобы правильно создать массив, после malloc к нему следует применить REDISTRIBUTE или REALIGN, т.к. в описании массива не было задано распределение.
Can not assign to REMOTE
«Нельзя присваивать данным, описанным в REMOTE_ACCESS »
Удаленным данным нельзя присваивать значения.
Can not get REMOTE address
«Нельзя брать адрес от данных REMOTE_ACCESS »
К удаленным данным нельзя применять оператор &.
Possible non-local assignement. Use DVM(OWN)
«Возможно нелокальное присваивание. Используйте директиву OWN »
Левая часть оператора присваивания в последовательной ветви программы является элементом распределенного массива.
Only 1..4-D arrays may be distributed
«Размерность распределенных массивов не более 4»
Распределенные массивы могут иметь размерность от 1 до 4.
Too many distributed dimensions
«Слишком много распределенных размерностей»
Особый случай ошибки "Rank error".
Not all distributed dimensions
«Указаны не все распределенные размерности».
Особый случай ошибки "Rank error".
4.8Цикл PARALLEL
Duplicated or incompatible sub-directive
«Повторяющиеся или несовместимые поддирективы»
Повторяющиеся или несовместимые поддирективы директивы PARALLEL. Несовместимы SHADOW_RENEW, SHADOW_START и SHADOW_WAIT, а также все поддирективы с ON <task>.
Too many headers in the PARALLEL loop
«Слишком много заголовков в цикле PARALLEL »
Отделите лишние заголовки фигурными скобками.
Not enough headers in the PARALLEL loop
«Не хватает заголовков в цикле PARALLEL »
Разрешены только тесно вложенные параллельные циклы.
Not a PARALLEL loop variable
«Это не переменная параллельного цикла»
Переменная в распределенном DO/FOR заголовке отсутствует в списке переменных заголовка PARALLEL параллельного цикла.
PARALLEL loop variables disordered
«Нарушен порядок переменных параллельного цикла»
Порядок переменных в заголовке PARALLEL параллельного цикла и в заголовках цикла DO/FOR должен быть одинаковый.
Variable already used
«Переменная уже использована».
Два выражения выравнивания по одной переменной в параллельном цикле не разрешены.
Loop variable required
«Переменная цикла обязательна»
В заголовке параллельного цикла PARALLEL задано [<не идентификатор>] или [ ].
Only 'long' or 'int' scalar loop variables allowed
«Допустимы только скалярные переменные типа int или long »
В качестве переменных цикла можно использовать только скалярные переменные типа int или long.
4.9SHADOW
Declared (or default) maximum width exceeded
«Превышена максимальная ширина теневых граней»
Превышена максимальная ширина теневых граней, объявленная в описании массива или 1 по умолчанию.
1D-array's shadow has no CORNERs
«Для одномерного массива бесполезно CORNER »
Предупреждение. Ключевое слово не имеет смысла в данном контексте.
4.10REDUCTION
Нарушение синтаксиса и семантики параметров редукционных функций.
Undefined RVAR
Wrong type of RVAR
Undefined RLOC
Wrong type of RLOC
Unallowed RVAR-expression
Unallowed RLOC-expression
4.11Процедуры
Parameter should be defined as DVM(*...)
«Параметры должны быть описаны с ‘*’»
DVM-указатели передаются по ссылке.
Only DISTRIBUTE and ALIGN are valid for parameter
«Только директивы DISTRIBUTE и ALIGN допустимы для параметров»
В качестве параметров можно передавать только массивы. TEMPLATE, SHADOW_GROUP, PROCESSORS и т.п. не могут передаваться как параметры.
4.12Трассировка данных
Это предупреждения:
This initialization will not be traced
«Эта инициализация не будет трассироваться»
Инициализация не будет трассироваться из-за неподдерживаемого типа или уже сгенерированной main.
Can not trace ++, --, +=, -=, ...
«Не трассируются операции ++, -- +=, -=, и т.п.»
Ограничения компилятора.
Can not trace multiple assignement
«Не трассируется кратное присваивание»
Can not trace this type
«Не трассируется доступ к данным этого типа»
Неподдерживаемый тип.
4.13Разное
Can fread-fwrite DVM-arrays as a whole only
«Распределенный массив вводится/выводиться только целиком»
Do you mean multiple index?
Пишите A[a,b] как либо A[(a.b)], либо A[a][b] по смыслу.
Not yet implemented... or error
«Еще не реализовано или ошибка»















