В.А. Фисун - Математическое обеспечение вычислительных систем (статья) (1127784), страница 2
Текст из файла (страница 2)
Техника сборки программы из готовых вычислительных компонент снижает трудоемкость программированияприложений. Значительное усложнение программирования из-за появления многопроцессорных кластеров и графических процессоровповышает роль такой техники.
Для программирования библиотечныхпрограмм можно привлекать узких специалистов в прикладных областях и обеспечивать очень высокую эффективность реализации.Библиотеки создаются как коммерческий продукт; причем, чем шире круг пользователей и, соответственно, более разнообразен диапазонудовлетворяемых запросов, тем выше цена продукта. Библиотечнаяпрограмма для расширения области применения должна допускатьширокую вариацию входных параметров, обеспечивать настройку наособенности исходных данных и аппаратной среды.Наиболее впечатляющих успехов структуризация библиотечныхпрограмм достигла при программировании ППП для задач линейнойалгебры. Особенностью данного класса задач является устойчивостьбольшинства алгоритмов: эффективность вычислений зависит главным образом от особенностей размещения данных в памяти ЭВМ.Интеграция векторных — матрично-векторных — матричных операцийBLASа до уровня решения систем линейных уравнений программамиATLASа была выполнена системными программистами так тщательно, что ручное программирование, например, задачи умножения матрицы любыми методами всегда будет проигрышным делом.ISSN 1812-3368.
Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2012169Иначе обстоит дело с программами других вычислительных алгоритмов, устойчивость которых зависит от значений чисел — входныхпараметров. Показателен классический пример Дж. Форсайта [4] опроблеме выбора алгоритма для поиска корней квадратного уравненияпри различных значениях коэффициентов. Для обеспечения эффективных и корректных вычислений вызов таких библиотечных программамдолжен сопровождаться заданием дополнительных параметров и указаний, например, о характере входных данных.
Интеграция программв пакетах прикладных программ требует согласования не только формальных и фактических параметров процедур, но также типов и видовтаких дополнительных параметров. Поэтому формальная суперпозиция при построении цепочки вызовов библиотечных процедур с учетом и передачей только содержательных параметров будет недостаточно эффективна. Для выбора оптимального варианта цепочки вызововпрограмм нужен учет и согласование дополнительных неформальныхпризнаков.
Успех работы по построению оптимальной траектории вызовов процедур, выполняемых в ППП, зависит от уровня детализациинеформальных характеристик процедур и алгоритмов их обработки.Эта обработка может производиться автоматически, как например, вППП САФРА. Разработчики пакета PETS признают, что работа управляемого опциями автомата — солвера (решателя) не всегда можетбыть оптимальна и поэтому предусматривают возможность активногоучастия пользователя в формировании последовательности работ.
Дляэтого в программах допускается явное описание векторов и матриц изадание их характеристик: степень разреженности матриц, разрешениепараллельной обработки элементов векторов и т.д. Естественно, внесение в программы приложения соответствующих описателей лишаетпрограммы мобильности, они смогут работать только в PETS среде.Библиотеки, классифицируемые как системы математическогообеспечения, например MATLAB, обеспечиваются интерфейсом сязыками Фортран и Си.
Но системы программирования для этих языков, встроенные в библиотеку, не могут соревноваться по качествуобъектного кода с кодом, продуцированным отдельными независимыми компиляторами с этих универсальных языков. Наконец, приложения, получаемые при помощи данной среды программирования, неотчуждаемы от среды и поэтому также не мобильны.Конечно, библиотеки допускают использование своих математических подпрограмм и пакетов из независимых Фортран и Си-системпрограммирования, однако наибольший эффект от использования библиотеки получается при погружении в ее среду приложения целиком. Коммерческие мотивы в проблеме мобильности приложений несомненны.170ISSN 1812-3368.
Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2012Одним из главных критериев качества математического обеспечения считается надежность вычислений, которая обеспечивается, вчастности, сертификацией библиотечных программ. Так как лицензияодной программы дешевле лицензии целой библиотеки, то на рынке математического обеспечения всегда будут востребованы пакетыпрограмм, ориентированные под конкретные запросы пользователей.Можно предположить, что будущее данного направления состоитв ускоренном развитии технологии “облачных пакетов” — генерациясертифицированных пакетов программ с открытым исходным кодом,настроенных на заданную предметную область и конкретную вычислительную среду.СПИСОК ЛИТЕРАТУРЫ1.
З а х а р о в А. Ю., М а р к а ч е в Ю. Е. Современные пакеты и библиотекипрограмм математического обеспечения // Препринт ИПМ им. М.В. Келдыша.1987. № 126. 28 с.2. Г о р б у н о в - П о с а д о в М. М., К о р я г и н Д. А., М а р т ы н ю к В. В.Системное обеспечение пакетов прикладных программ. М.: Наука, 1990. 208 с.3. W h a l e y R. C., P e t i t e t A., D o n g a r r a J. Automated EmpiricalOptimization of Software and the ATLAS Project, UT-CS-00-448, September 2000.4. Ф о р с а й т Дж., М а л ь к о л ь м М., М о у л е р К. Машинные методы математических вычислений. М.: Мир, 1980.
277 с.Статья поступила в редакцию 27.07.2012ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2012171.