Слова і словосполучення

Програмне забезпечення систем  (ПЗС)

ТЕКСТ № 1

 

В то время как многие параллельные процессоры требуют от пользователя явного указания того, какие вычисления в программе должны производиться параллельно, компилятор Allian FX/Fortran активно обнаруживает параллелизм в обычной последовательной программе. Даже если эти программы написаны без ориентации на параллельную обработку, компилятор автоматически вырабатывает объективную программу, которая эффективно выполняется на многопроцессорной ЭВМ. Принципы компиляции основаны на работе Кука и его студентов из Иллинойского университета (Urbana-Champaign) [2]. Этот подход должен доказать свою привлекательность многим научным работникам, имеющим готовые программы и не желающим переписывать их, чтобы достичь ускорения выполнения программ, которое даёт параллельная обработка.

 

Слова і словосполучення

 

· пользователь = користувач

· параллельная обработка = паралельне опрацювання

 

 

ТЕКСТ № 2

    В аппаратуре имеются два основных средства для поддержки параллельной обработки. Восемь ВЭ позволяют целым секциям программы выполняться параллельно (по одной секции на процессор). Кроме того, конвейерные векторные устройства, имеющиеся в каждом ВЭ, позволяют обрабатывать пары операндов с перекрытием во времени функционирования устройств сложения и умножения с плавающей запятой. Такая конвейеризация может привести к очень высокой скорости вычислений, однако для этого требуется в качестве операндов применять достаточно длинные векторы. Чтобы использовать обе эти формы параллелизма, компилятор пытается выделить программные сегменты для параллельного выполнения программы на восьми процессорах и векторные операнды, для обработки которых требуется применять одну и ту же комбинацию арифметических операций. Поскольку обе формы параллелизма связаны с циклами DO языка Фортран, эти циклы и являются основным объектом анализа, выполняемого компилятором.

_________________________________________________________

 

* Література: Р. Бэбб "Программирование на параллельных вычислительных системах". - М.:"Мир", 1991              

Слова і словосполучення

 

· сложение = додавання

· плавающая запятая = плавальна кома

 

 

ТЕКСТ № 3

 

Когда компилятор обнаруживает некоторое препятствие для распараллеливания, он генерирует параллельную программу, пока гарантируется корректность результатов выполнения программы. В большинстве случаев компилятор в этом отношении очень консервативен. Его решения основываются на анализе типов операторов тела цикла и способа использования переменных, так как последний часто влияет на то, в какой степени итерации цикла могут быть перекрыты при параллельном выполнении.

Режим параллельного выполнения циклов DO осуществляется посредством реализации различных итераций цикла разными ВЭ. Так как имеется восемь процессоров, одновременно может выполняться до восьми итераций. Если необходимо, компилятор включает в объектную программу средства синхронизации, чтобы обеспечить правильный порядок изменения и использования переменных в цикле и гарантировать, что операторы программы, следующие за циклом, не будут выполняться до тех пор, пока не завершатся все итерации цикла.

 

Слова і словосполучення

 

· препятствие = перешкода

· помеха = завада

· переменные = змінні (прикметник), мінянок (іменник), мінянки

 

 

ТЕКСТ № 4

 

Отметим, что если пользователь по ошибке поместит в программу директиву, говорящую компилятору "продолжай распараллеливать", когда это делать недопустимо, программа, вероятно, будет вести себя непредсказуемо (например, недетерминированно) как ошибочная параллельная программа. Если причина действительно в этом, то очень важно, чтобы пользователь мог убедиться, что программа ведёт себя странно, посредством отказа от всех оптимизирующих действий и возвращения к последовательной программе. Если программа продолжает вести себя странно, в ней есть обычная программная ошибка. Если такой ошибки нет, то следует с помощью директив компилятора осуществлять выборочную оптимизацию параллельных частей программы до тех пор, пока ошибка не будет обнаружена. Такой метод отладки эффективен только потому, что правильная последовательная исходная программа и исходная параллельная программа - это одно и то же.

Слова і словосполучення

 

· оптимизирующие действия = оптимізувальні дії

· исходная последовательная программа = вихідна послідовна програма

 

 

ТЕКСТ № 5

 

В фирме Alliant распараллеливание рассматривается как некоторая форма оптимизации и в отсутствии параметра –О в команде вызова компилятора не делается никаких попыток оптимизации. Оптимизация может быть ограничена (например, только векторизацией) путём добавления определённых букв после параметра – О. Если параметр –О опущен, то все директивы компилятора игнорируются.

Директивы компилятора в программе начинаются с первой колонки комбинацией символов CVD$. Это означает, что другими компиляторами для языка Фортран они будут рассматриваться как комментарии, что повышает мобильность программ. Буква, непосредственно следующая за знаком $, говорит о том, применима ли эта директива только к следующему за ней циклу DO (в этом случае используется буква L) или она относится ко всей оставшейся части исходного файла (в этом случае используется буква G). Ключевое слово, записанное начиная с седьмой колонки, определяет разрешение или запрещение оптимизации.

 

слова і словосполучення

 

· опущенный параметр = випущений параметр

· колонка = стовпчик

· исходный файл = вихідний файл

 

 

ТЕКСТ № 6

 

По умолчанию вызов подпрограммы внутри цикла препятствует распараллеливанию тела цикла, начиная с точки вызова. Директива CVD$L CNCALL  отвергает это правило, позволяя такие циклы выполнять в параллельном режиме. Директива оказывает действие только на следующий за ней цикл, так как после знака $ записана буква L. Этой директивой программист утверждает, что данная подпрограмма может запускаться параллельно с другими выполнениями этой же подпрограммы или других подпрограмм, вызванных в том же цикле.

    Параллельные задачи могут создаваться с помощью вызова подпограммы в цикле DO, которому непосредственно предшествует упомянутая выше директива  CNCALL. Подпрограмме может быть передан индекс цикла, с помощью которого в ней может определяться номер соответствующей итерации, что позволяет каждой итерации выполняться независимо и, если необходимо, с использованием оператора IF и вычисляемого оператора GOTO.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: