Библиотека программ CERNLIB


Библиотека CERNLIB - большая коллекция программ общего назначения, поддерживаемых и распространяемых на исходном языке, в объектном коде и в виде готовых программ. Большинство этих программ были разработаны в CERN, поэтому они ориентированы на потребности физических исследовательских лабораторий. Однако многие из этих программ предназначены либо для решения общих математических задач, либо для обработки данных, поэтому область их применения значительно шире.

Содержание и организация библиотеки

Библиотека состоит из нескольких тысяч подпрограмм и самостоятельных программ, которые сгруппированы в несколько сотен программных пакетов. 80% программ написаны на Фортране, остальные - на языках ассемблера и C. В настоящий момент используется стандарт языка Фортран 77.

Каждому пакету присвоен уникальный индекс, состоящий из латинской буквы и 3 или 4 цифр. Буква используется для идентификации тематического раздела, к которому относится программный пакет. Пакет состоит из одной или нескольких взаимосвязанных подпрограмм с одним общим индексом и одним или более ENTRY-входами. Пакеты программ кратко описаны в Short Writeups и при необходимости - более подробно в Long Writeups.

Структура библиотеки

Библиотека CERNLIB состоит из нескольких независимых библиотек подпрограмм, вызываемых из программ на Фортране, и самостоятельных программ. Список отдельных библиотек и пакетов приведен ниже. Заметим, что библиотеки модифицируются, поэтому возможны небольшие изменения.
  • KERNLIB - основные (базовые) подпрограммы и функции;
  • MATHLIB - математические подпрограммы, включающие генераторы случайных чисел;
  • PACKLIB - библиотека пакетов программ HEPDB, HBOOK, ZEBRA и др.;
  • GRAFLIBS - графические библиотеки HIGZ, HPLOT и др.;
  • PAWLIB - библиотека PAW, включающая COMIS, PAW и SIGMA;
  • Monte Carlo libraries - Монте Карло генераторы, обычно существующие как самостоятельные библиотеки;
  • Modules - PAW, FATMEN и др.;
  • PHTOOLS - FOWL, GENBOD и WICO.

Последнюю версию библиотеки программ CERNLIB для компьютерных платформ и компиляторов, поддерживаемых в CERN, можно найти на сервере http://wwwinfo.cern.ch/asd/cernlib/version.html.

Некоторые операционные системы и компиляторы CERNLIB:

    PC Linux Cern slc3_ia32_gcc323(Cernlib 2004)
    PC Linux RH7.3, (RH8); gcc 3.2 (Cernlib 2003)
    PC Linux RH10 (RH9); gcc 3.3 (Cernlib 2003)
    PC Linux RH7.3; gcc 2.95.2(Cernlib 2002)
    PC Windows NT/95/98/2000/XP(2001)

Библиотека CERNLIB на PC-Linux ферме ЛИТ ОИЯИ размещается:

    lxpub(cv): /cern/2004/bin/...
      /include/...
      /lib/...
      /src/...,
где можно найти исходные тексты, библиотеки, исполняемые файлы и т.д., включая файл README с режимами компиляци для каждого Release.

Указать нужную библиотеку (например, mathlib) при вызове компилятора с языка Фортан можно следующим образом:

    g77 myprog.f -L/cern/pro/lib -lmathlib

Библиотека CERNLIB на SPP-2000 находится:

    SPP-2000: /cern/97a/...
        /2000/bin/...
      /include/...
      /lib/...
      /src/...

При использовании библиотек CERNLIB на SPP-2000 при компиляции программы нужно указывать дополнительные параметры (в частности, +ppu):

    fort77 +ppu myprog.f -L/cern/pro/lib -lmathlib

Адреса библиотеки CERNLIB для платформы Windows:

http://wwwinfo.cern.ch/asd/cernlib/download/2001_wnt/bin
- исполняемые модули, такие как PAW;
http://wwwinfo.cern.ch/asd/cernlib/download/2001_wnt/lib
- библиотеки объектных модулей (mathlib, packlib, kernlib, ...);
http://wwwinfo.cern.ch/asd/cernlib/download/2001_wnt/tar
- тексты программ на языках Фортран, C, make-файлы и include-файлы;
http://wwwinfo.cern.ch/asd/cernlib/download/2001_wnt/README
- замечания по установке CERNLIB.

Инсталляция CERNLIB для платформы Windows выполнена на ОС Windows NT 4.0 с компиляторами

    f77: Digital Visual Fortran V5.0-594-3382R
    C:    Microsoft Visual C/C++ v.5.0 - 32-bit C/C++ Optimizing Compiler

Архивы некоторых библиотек программ для платформы Windows (версия 2001): MATHLIB, PACKLIB, KERNLIB, PAWLIB, GRAFLIB.

Одна из часто используемых программ библиотеки CERNLIB - MINUIT (D506). Здесь предлагаются отдельно исходные тексты программы MINUIT, пример использования и библиотека для PC/Linux, полученная с помощью GNU Fortran g77 версии 0.5.25.

С дополнительной информацией о CERNLIB и других библиотеках Центрального Информационно-Вычислительного Комплекса ОИЯИ в ЛИТ можно познакомиться на сайте ЛИТ http://lit.jinr.ru/ в разделе ЦИВК.

Условия использования библиотеки

Программы и документация предназначены для использования в организациях и по правилам, оговоренным в лицензионном соглашении. Публикации результатов, полученных с использованием программ CERNLIB, должны содержать ссылки на библиотеку.