Download presentation
Presentation is loading. Please wait.
Published byRandall Bryan Sherman Modified over 9 years ago
1
JINRLIB program library Popkova L.B., Sapozhnikov A.P., Sapozhnikova T.F., Fedorova R.N. Joint Institute for Nuclear Research
2
Program Library – a set of computer programs, kept in computer media and accessed through their names or unique indexes. The library consist of: - object modules (binary files, got by compilers); - or standalone packages in their source form (text files); JINRLib – a program library for solving wide range physical and mathematical problems originated in JINR researcher’s scientific activity.
3
JINRLib purposes: to provide the stable and permanent support for JINR users and their computers of various types; to preserve results of job, done by old generation of specialists in numeric methods; to stimulate JINR scientists to their own programs development.
4
JINRLib structure The foundation of JINRLib is a kernel of very popular in the past Dubna, MathLib and KernLib from CERN libraries. The replenishment originates by new programs created by JINR researchers and their collaborants. The librarian programs identify by unique index or name. They apply: as object modules; as standalone packages;
5
Organization principles and technology for object modules maintenance Program included in JINRLib as an object module is a set of 3 things: the source – file containing Fortran or C code; the program description; the test, input data for test, results of test. All programs operate with 64-bits floating-point numbers.
6
Each program is situated in separate directory, named by librarian index. For example, program A101 is kept in A101 directory as a set of 6 files: A101.for - the source, A101.txt, A101E.txt - description (Russian and English), T_A101.for - the test, A101.dat - data for test, A101.res - result of running test. The head librarian directory is called JINRLIB. It contains: - the program for full rebuilding of library; - the result of this rebuilding; - the A101 – Z999 subdirectories for corresponding indexes; - temporary files for building;
7
JINRLib is tested under Unix (Linux) and Windows computer platforms: - “the individual work” with each program: source checking, complete testing, results analyze, standardization of program description. - the real building of library is individual for each platform and for each used compiler. This is “script”, containing the environment settings, compilation and linkage. The main efforts – to extremely simplify library building: “from single button”.
8
dir=`ls` for name in $dir do......... ####### Special compilation mode: z008 if test -d $name then case $name in ####### Fortran + C: z008) cd $name g77 -c $name.f gcc -c "$name"c.c ar rv../libjinr.a $name.o "$name"c.o ranlib../libjinr.a rm *.o cd.. ;;......... esac fi done JINRLib building. Shell-script for Linux.
9
Implementation In JINR Central Information and Computer Complex object modules JINRLIB are ready for: OS Scientific Linux 4, CPU x86_64: GNU Fortran 77 compiler (g77) - libjinr.a; GNU Fortran 95 compiler (gfortran) - libjinr95.a; Intel Fortran Compiler (ifort) – libjinri.a. OS Scientific Linux 3, CPU i386: GNU Fortran 77 compiler (g77) - libjinr.a. Placement: /usr/libexec/CERNLIB/jinr JINRLib for OS Windows 9X/NT/2000/XP is ready for: GNU Fortran 77, Compaq Visual Fortran, Fortran PowerStation, Microsoft Fortran.
10
Examples of JINRLib object modules usage Scientific Linux g77 Compilation: g77 myprog.f -L/usr/libexec/CERNLIB/jinr –ljinr or: g77 myprog.f –L$CERN/jinr –ljinr View of library content: ar t /usr/libexec/CERNLIB/jinr/libjinr.a Windows 9X/NT/2000/XP Compaq Visual Fortran 6.6 Compilation from command-line: fl32 myprog.for %PLACE%\jinrlib.lib GUI-regime: Project/Settings/Link: add jinrlib.lib to Object/Library/modules setting FullPath. View of library content : lib /list %PLACE%\jinrlib.lib
11
Standalone packages maintenance Some programs cannot be applied as Object Modules (e.g. they are not portable, the source is inaccessible,...). Nevertheless, by author’s wish they also may be put into JINRLib. There are about 40 such kind of programs subdivided into following classes (according classification used in JINR Publishing Department): High energy theoretical physics Low energy theoretical physics Heavy ion physics Automatization of data processing Computing mathematics and technique
12
WWW-maintenance for JINRLIB WebSite http://www.jinr.ru/programs/jinrlibhttp://www.jinr.ru/programs/jinrlib provides electronic access to JINRLIB, starting from catalog, full description of any program, down to program sources and object modules. Some program packages have counters of visitors, certainly showing user’s interest to them. The most popular are now the classical mathematical packages. As for specific applied packages, each of them has its own range of users.
13
http://www.jinr.ru/programs/jinrlib
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.