minor changes
This commit is contained in:
@@ -1,21 +1,21 @@
|
||||
\subsection{Постановка задачи, определение целей работы}
|
||||
|
||||
Так возникает задача добавления в систему SAPFOR дополнительного сценария работы -- распараллеливания фортран-программ без построения схемы распределения данных и с использованием директив PARALLEL без клаузы ON.
|
||||
Так возникает задача добавления в систему SAPFOR дополнительного сценария работы -- распараллеливания фортран-программ без построения схемы распределения данных и с использованием директив \texttt{PARALLEL} без клаузы \texttt{ON}.
|
||||
|
||||
Требуется, чтобы новый режим мог обходить ограничения, накладываемые распределением данных, тем самым расширяя класс распараллеливаемых программ на общую память по сравнению со стандартным распараллеливанием на кластер. В частности, вставляемые директивы должны корректно описывать все данные, используемые в цикле, их область хранения в памяти и зависимости типа ACROSS, если они есть.
|
||||
|
||||
Также от добавляемого функционала естественно потребовать его \textit{корректность}: при условии, если входная программа корректная, то система SAPFOR должна выдавать правильную параллельную программу, которая должен успешно компилироваться и выполняться.
|
||||
|
||||
Помимо этого, результирующее распараллеливание должно быть эффективным, то есть давать приемлемый прирост производительности за счёт многопоточного выполнения: не замедлять программу существенно в худших случаях и получать распараллеливание, конкурирующие с ручным в лучших случаях. В это требование дополнительно входит расстановка оптимизирующих клауз TIE в директивы PARALLEL везде, где это возможно.
|
||||
Помимо этого, результирующее распараллеливание должно быть эффективным, то есть давать приемлемый прирост производительности за счёт многопоточного выполнения: не замедлять программу существенно в худших случаях и получать распараллеливание, конкурирующие с ручным в лучших случаях. В это требование дополнительно входит расстановка оптимизирующих клауз \texttt{TIE} в директивы \texttt{PARALLEL} везде, где это возможно.
|
||||
|
||||
Поскольку работа ведётся в рамках доработки системы SAPFOR, решение должно быть в неё интегрировано должным образом:
|
||||
|
||||
\begin{itemize}
|
||||
\item в системе SAPFOR каждое преобразование оформляется в виде последовательности \textit{проходов} -- алгоритмов, которые логически разделены на блоки. Поэтому новый функционал должен быть реализован в виде нового прохода (или в виде последовательности новых проходов);
|
||||
|
||||
\item новый режим распараллеливания, должен учитывать и правильно обрабатывать директивы системы SAPFOR;
|
||||
\item новый режим распараллеливания должен учитывать и правильно обрабатывать директивы системы SAPFOR;
|
||||
|
||||
\item должна быть добавлена возможность вызова это режима через диалоговую графическую оболочку;
|
||||
\item должна быть добавлена возможность вызова этого режима через диалоговую графическую оболочку;
|
||||
|
||||
\item вместе с самим распараллеливанием должен быть добавлен функционал анализа входного кода, который выдавал бы информацию по распараллеливанию без фактической вставки директив. Аналогичный анализ в системе SAPFOR есть и для режима распараллеливания на кластер. Он служит для выявления проблем при автоматизированном распараллеливании;
|
||||
\end{itemize}
|
||||
|
||||
Reference in New Issue
Block a user