кодах, эти подпрограммы были машинно-ориентированными. Мобиль-
ность подпрограмм — возможность их использования на различных
ЭВМ появилась с внедрением универсальных языков программирова-
ния: Алгола и Фортрана. Другим эффектом внедрения алгоритмиче-
ских языков высокого уровня было появление новой среды описания
вычислительных алгоритмов, программа на таком языке может также
служить формальным описанием алгоритма. Особенно ярко эта спо-
собность алгоритмического языка служить языком публикаций вычи-
слительных алгоритмов проявилась у языка Алгол-60. В СССР и за
рубежом был опубликован обширный спектр вычислительных алго-
ритмов на этом языке. С 70-х годов описания вычислительных ал-
горитмов публикуются на Фортране из-за широкого распространения
этого языка. Набор алгоритмов, опубликованных в журнале “ACM
Transactions on Mathematical Soft.”, охватывает почти все сферы чи-
сленного анализа.
В настоящее время подпрограммы научно-технического характе-
ра публикуются в основном на языке Си. Язык Фортран сохраняет
позиции как язык публикаций для описания вычислительных алгорит-
мов. Также известно, что тексты последовательных Фортран-программ
удобнее для распараллеливания, чем тексты Си-программ.
Пакеты программ.
Пакетом программ называют комплекс про-
грамм для решения серийных задач в конкретной области наук и тех-
ники. Пакет прикладных программ (ППП), частный случай пакетов, —
это система взаимосвязанных программ и средств организации про-
цесса вычислений. При помощи этих средств, в рамках реализованной
в пакете стратегии организации вычислений, автоматически генериру-
ется цепочка прикладных вычислительных программ для проведения
конкретного вычислительного эксперимента. Примером ППП может
служить пакет САФРА (Система Автоматизации Физических Расче-
тов) [2], разработанный в ИПМ им. М.В. Келдыша РАН для решения
класса задач математической физики. Программы, создаваемые при
помощи пакета САФРА, используют программы из архивного фонда
пакета, содержащего свыше тысячи программ. Системная часть пакета
обеспечивает подбор оптимальной последовательности программ для
решения общей задачи.
Техника ППП широко используются в системах программирова-
ния, предназначенных для решения задач линейной алгебры. Базовым
уровнем пакетов этого класса служит пакет BLAS (Basic Linear Algebra
Subroutine), реализующий основные операции нижнего уровня вычи-
слительной линейной алгебры. Он входит в состав всех пакетов и би-
блиотек линейной алгебры, обеспечивая низкоуровневый интерфейс
между программами широкого класса библиотек и ЭВМ различных
архитектур. Пакет разделяется на три уровня BLAS: Level 1 BLAS —
ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2012
167