В настоящее время на кластерах вычислительного комплекса НИВЦ установлены следующие библиотеки численного анализа:

  • Библиотека численного анализа разработки НИВЦ МГУ (БЧА НИВЦ)
  • BLAS - набор базовых процедур линейной алгебры: векторно-векторные, матрично-векторые и матрично-матричные операции
  • LAPACK - набор реализаций расширенных методов линейной алгебры: решение систем линейных уравнений, задачи собственных чисел и т.д.
  • ATLAS - оптимизированная библиотека, включающая реализацию процедур BLAS и часть функциональности LAPACK.
  • SCALAPACK - паралллельная версия LAPACK.
  • FFTW - широко распространенный и мощный пакет для выполнения быстрых преобразований Фурье (FFT).
  • DFFTPack - простая библиотека для выполнения быстрых преобразований Фурье.

Библиотека численного анализа НИВЦ

Пользователям кластера доступна Библиотека численного анализа (БЧА), разработанная в НИВЦ МГУ. Доступны две версии библиотеки - на Фортране 77 и на Си. Со всеми вопросами можно обращаться к Олегу Багратовичу Арушаняну (arush@srcc.msu.su, 939-1091).

БЧА содержит следующие основные группы подпрограмм: простейшие вычислительные операции; Элементарные статистики, обработка данных; статистические критерии; алгебра полиномов; линейная алгебра; специальные функции; численное интегрирование; обыкновенные дифференциальные уравнения; интерполяция, аппроксимация, сглаживание; анализ и синтез рядов, быстрые преобразования; решение уравнений и систем общего вида; математическое программирование; интегральные уравнения; генерация случайных чисел. В настоящий момент доступны только однопроцессорные версии всех процедур.

Подробную информацию о библиотеке и рекомендации по использованию (на русском языке) можно найти по адресу http://www.srcc.msu.su/num_anal/lib_na/libnal.htm.

Для сборки пользовательских программ на Фортране с использованием БЧА, необходимо подключить основную библиотеку (libnuml.a) и одну из вспомогательных библиотек (libnlutkoi.a и libnlutwin.a). Например:

      ifc -O3 program.for -lnuml -lnlutkoi

Для сборки пользовательских программ с использованием версии БЧА на языке Си, необходимо подключить три библиотеки - основную (libnumlc.a), вспомогательную (libnlсutkoi.a) и библиотеку процедуры конвертера F2C (liblf2c.a). Библиотеки находятся в каталоге /usr/local/lib. Например:

      iсс -O3 program.с -lnumlс -lnlcutkoi -llf2c

Библиотеки находятся в каталоге /usr/local/lib. Примеры использования процедур библиотеки доступны в каталогах /home/examples/numl (для версии на Фортране) и /home/examples/numlс (для версии на Си). Там же доступен пример скрипта для компиляции - build-test. В качестве параметра он принимает имя файла примера.


Использование SCALAPACK

Библиотека параллельных процедур линейной алгебры SCALAPACK установлена в директории /usr/local/SCALAPACK и доступна для всех пользователей. Другие примеры использования различных процедур SCALAPACK доступны в директории /home/examples/scalapack. Пример командной строки для линковки программы, использующей SCALAPACK, содержится в файле "build" в этой директории. Доступно руководство по использованию SCALAPACK (ScaLAPACK Users' Guide).


Использование FFTW

Пакет FFTW считается наиболее мощным средством для выполнения дискретных быстрых преобразований Фурье (БПФ). Пакет полностью написан на Си, но вызывать процедуры можно из программ на Фортране. Доступны многопоточный и параллельный (MPI) варианты пакета. Доступна краткая информация об организации и возможностях FFTW (на русском языке) и полная документация (на английском языке).


Использование DFFTPACK

Пакет DFFTPACK - это версия старого пакета FFTPACK для чисел двойной точности. В отличие от FFTW, в DFFTPACK меньше функциональности, но он полностью написал на Фортране и должен быть проще в использовании. Библиотека libdfftpack.a лежит в /usr/local/lib (для подключения используйте ключ -ldfftpack). Доступно описание этой библиотеки в текстовом формате.


Более подробно о методах численного анализа можно почитать на сервере по численному анализу НИВЦ МГУ.