next up previous contents index
Next: References Up: Access to licensed Previous: MPA

NAG

The information in this section supplements that found in the NAG installation notes and concerns only the NAG Fortran double precision library, release MARK 16. For further details, consult the NAG installation notes for the platform in question.

General information

The NAG library should be installed on CERNVM, the VXCERN cluster and in AFS. It will be automatically copied from AFS into the asis tree, accessed via NFS on those systems that do not have AFS.

In AFS, it should be stored in /afs/cern.ch/asis/packages/licensed/nag-mark16/@sys. On asis, the corresponding tree is /asis/packages/licensed/nag-mark16/@sys.

For management purposes, a separate volume is created for each operating system.

AFS volumes for the NAG software

/usr/local/bin/fs lsmount *

'alpha_osf22' is a mount point for volume '#asis.alpha_osf2.c.ng16'
'hp700_ux90' is a mount point for volume '#asis.hp700_ux90.c.ng16'
'pmax_ul43a' is a mount point for volume '#asis.pmax_ul4.c.ng16'
'rs_aix32' is a mount point for volume '#asis.rs_aix32.c.ng16'
'sgi3000_40' is a mount point for volume '#asis.sgi3000_40.c.ng16'
'sgi_52' is a mount point for volume '#asis.sgi_52.c.ng16'
'sun4_413' is a mount point for volume '#asis.sun4_413.c.ng16'
'sun4_53' is a mount point for volume '#asis.sun4_53.c.ng16'

Unix

Unix versions of NAGLIB should be delivered with on QIC or DAT tapes. There is a DAT drive on hpcernlib and a QIC drive on zfatal.

Go to the directory where you would like to install the software, e.g. /asis/packages/licensed/nag-mark16/rs_aix32, mount the tape in the drive and load the software by typing tar x.

On some systems, more than one version of NAGLIB exists. For example, on RS6000s and HP/UX, versions both with and without the trailing underscore are provided.

In general, make sure that the file libnag.a

  1. Contains a trailing underscore
  2. Is "complete", i.e. does not require any external libraries, such as optimised versions of BLAS, sometimes supplied by the vendors.
  3. If there is a shared library libnag.so, rename it to avoid picking up the shared version by default.

List of all Unix NAG Fortran libraries

zfatal:/asis/packages/licensed/nag-mark16 (364) ls -l */nagfl16df/lib*
-rw-r--r--   1 cernlib  cr       16850912 Dec  6 14:08 alpha_osf22/nagfl16df/libnag.a
-rw-r--r--   1 cernlib  cr       8582742 Jul 26 16:11 alpha_osf22/nagfl16df/libnag.share
-rw-r--r--   1 cernlib  cr       16645272 Jul 26 16:14 alpha_osf22/nagfl16df/libnagdx.a
-rw-r--r--   1 cernlib  cr       8497254 Jul 26 16:14 alpha_osf22/nagfl16df/libnagdx.so
lrwxr-xr-x   1 cernlib  cr            12 Dec  6 14:40 hp700_ux90/nagfl16df/libnag.a -> libnag_ppu.a
-rw-------   1 cernlib  cr       8800940 Jul  6 12:31 hp700_ux90/nagfl16df/libnag_noppu.a
-rw-------   1 cernlib  cr       8805816 Jul  6 12:32 hp700_ux90/nagfl16df/libnag_ppu.a
-rw-------   1 cernlib  cr       13587936 Dec  6 17:05 pmax_ul43a/nagfl16df/libnag.a
lrwxr-xr-x   1 jamie    cp            10 Dec  6 15:10 rs_aix32/nagfl16df/libnag.a -> libnag_u.a
-rw-r--r--   1 jamie    cp       8584439 Dec  6 14:46 rs_aix32/nagfl16df/libnag_b.a
-rw-r--r--   1 jamie    cp       8603762 Dec  6 12:53 rs_aix32/nagfl16df/libnag_b_noextname.a
-rw-r--r--   1 jamie    cp       8605192 Dec  6 12:52 rs_aix32/nagfl16df/libnag_noextname.a
-rw-r--r--   1 jamie    cp       8600181 Dec  6 12:53 rs_aix32/nagfl16df/libnag_u.a
-rw-r--r--   1 cernlib  cr       11313952 May  8 1994  sgi3000_40/nagfl16df/libnag.a
-rw-r--r--   1 cernlib  cr       11341700 May  8 1994  sgi3000_40/nagfl16df/libnagblas.a
lrwxr-xr-x   1 cernlib  cr            12 Dec  6 15:34 sgi_52/nagfl16df/libnag.a -> libnag3000.a
-rw-r--r--   1 cernlib  cr       13263820 Jun  8 1994  sgi_52/nagfl16df/libnag3000.a
-rw-r--r--   1 cernlib  cr       12357016 Jun  8 1994  sgi_52/nagfl16df/libnag4000.a
-rw-r--r--   1 cernlib  cr       13327488 Jun  8 1994  sgi_52/nagfl16df/libnagblas3000.a
-rw-r--r--   1 cernlib  cr       12417468 Jun  8 1994  sgi_52/nagfl16df/libnagblas4000.a
-rw-r--r--   1 jamie    cp       11648720 Dec  6 15:57 sun4_413/nagfl16df/libnag.a
-rw-r--r--   1 cernlib  cr       4662443 Dec  6 13:11 sun4_413/nagfl16df/libnag_1.4.a.gz
-rw-r--r--   1 cernlib  cr       14132336 Nov  4 1993  sun4_53/nagfl16df/libnag.a
zfatal:/asis/packages/licensed/nag-mark16 (365)

In the above list, 3 links where created locally, the Alpha/OSF shared library was renamed and the RS6000 library rebuilt locally. In fact, the NAG supplied libnag_u.a would have been sufficient.

Test programs can be run in the following manner:

Running the test programs

export NAG=/asis/packages/licensed/nag-mark16/rs_aix32/nagfl16df

xlf -qextname a02aafe.f -L$NAG -lnag -o a02aafe

a02aafe < a02aaf.data

VM/CMS

The VM/CMS version of NAGLIB arrives on 9 track tape. As there are no more units of this type on the CERN central services, the first step is to copy the tape to a 3480 cartridge. This can be done in the tape vault, with the help of the DCS staff.

Having copied the tape, it must now be loaded. This is done using the CMS TAPE command.

Procede as follows:

  1. Choose a CERNLIB disk on which to load the software. You might wish to reuse one of the following disks:
    0A14
    NAG Fortran library Mark 14
    0014
    NAG Fortran library Mark 15
    0353
    NAG Fortran library Mark 16
  2. Link and access the appropriate disk in R/W mode, e.g. GIME CERNLIB 353 (MR.
  3. Ask the operators to attach a manual 3480 tape drive to your virtual machine at address 181.
  4. Go to the tape vault and mount the tape
  5. Use the TAPE LOAD command to load all of the software, as shown in the following log file.
  6. Detach the tape drive using CP DETACH 181 and retrieve the tape from the vault.

Loading the VM/CMS distribution

1Ready; T=0.01/0.01 14:19:22
 tape load * * z
  Loading ...
  IN       DOC      Z1
  TAPE     DOC      Z1
  DOCS     DOC      Z1
  End-of-file or end-of-tape
 Ready; T=0.08/0.30 14:20:06
 fd z
 Ready; T=0.02/0.02 14:20:14
 fd z
 Ready; T=0.02/0.02 14:20:39
 tape load * * z
  Loading ...
  NAGLIB1  TXTLIB   Z1
  NAGLIB2  TXTLIB   Z1
  End-of-file or end-of-tape
 Ready; T=0.35/1.64 14:23:33
 QUERY DISK
 LABEL  VDEV M  STAT  CYL TYPE BLKSIZE  FILES  BLKS USED-(%) BLKS LEFT  BLK TOTAL
 LIB191 191  A   R/W    5 3390 4096       178        358-40        542        900
 N/COM  320  C   R/O    1 3390 4096        40        134-74         46        180
 PLTOOL 197  G   R/O    5 3390 4096       258        758-84        142        900
 /P/CRN 199  P   R/O  340 3390 4096      1316      26175-43      35025      61200
 /Q/CRN 198  Q   R/O  250 3390 4096       265      40334-90       4666      45000
 S-DISK 190  S   R/O   82 3390 4096       345       9191-62       5569      14760
 Y-DISK 19E  Y/S R/O  250 3390 4096       865      33082-74      11918      45000
 NAG-16 1C0  Z   R/W  100 3380 4096         5       3918-26      11082      15000
 Ready; T=0.01/0.01 14:23:47
 tape load * * z
  Loading ...
  EXPT     FORTRAN  Z1
  EXPD     DATA     Z1
  EXPR     RESULTS  Z1
  End-of-file or end-of-tape
 Ready; T=0.18/0.65 14:24:21
 tape load * * z
  Loading ...
  NAGA     ICAFILE  Z1
  NAGC     ICAFILE  Z1
  NAGD     ICAFILE  Z1
  NAGE     ICAFILE  Z1
  NAGF     ICAFILE  Z1
  NAGG     ICAFILE  Z1
  NAGH     ICAFILE  Z1
  NAGM     ICAFILE  Z1
  NAGP     ICAFILE  Z1
  NAGS     ICAFILE  Z1
  NAGX     ICAFILE  Z1
  End-of-file or end-of-tape
 Ready; T=0.11/0.45 14:24:43
 tape load * * z
  Loading ...
  TEXTA00  FORTRAN  Z1
  TEXTA02  FORTRAN  Z1
  TEXTC02  FORTRAN  Z1
  TEXTC05  FORTRAN  Z1
  TEXTC06  FORTRAN  Z1
  TEXTD01  FORTRAN  Z1
  TEXTD02  FORTRAN  Z1
1 TEXTD03  FORTRAN  Z1
  TEXTD04  FORTRAN  Z1
  TEXTD05  FORTRAN  Z1
  TEXTE01  FORTRAN  Z1
  TEXTE02  FORTRAN  Z1
  TEXTE04  FORTRAN  Z1
  TEXTF01  FORTRAN  Z1
  TEXTF02  FORTRAN  Z1
  TEXTF03  FORTRAN  Z1
  TEXTF04  FORTRAN  Z1
  TEXTF05  FORTRAN  Z1
  TEXTF06  FORTRAN  Z1
  TEXTF07  FORTRAN  Z1
  TEXTF08  FORTRAN  Z1
  TEXTG01  FORTRAN  Z1
  TEXTG02  FORTRAN  Z1
  TEXTG03  FORTRAN  Z1
  TEXTG04  FORTRAN  Z1
  TEXTG05  FORTRAN  Z1
  TEXTG07  FORTRAN  Z1
  TEXTG08  FORTRAN  Z1
  TEXTG10  FORTRAN  Z1
  TEXTG11  FORTRAN  Z1
  TEXTG12  FORTRAN  Z1
  TEXTG13  FORTRAN  Z1
  TEXTH    FORTRAN  Z1
  TEXTM01  FORTRAN  Z1
  TEXTP01  FORTRAN  Z1
  TEXTS    FORTRAN  Z1
  TEXTX    FORTRAN  Z1
  TEXTY07  FORTRAN  Z1
  TEXTY90  FORTRAN  Z1
  DEPM     ASSEMBLE Z1
  YXXLIB   TXTLIB   Z1
  End-of-file or end-of-tape
 Ready; T=0.61/2.22 14:26:16
 fd z
 Ready; T=0.02/0.03 14:26:28
 tape load * * z
  Loading ...
  End-of-file or end-of-tape
 File * * Z not found
 Ready(00028); T=0.01/0.01 14:26:30
 q disk z
 LABEL  VDEV M  STAT  CYL TYPE BLKSIZE  FILES  BLKS USED-(%) BLKS LEFT  BLK TOTAL
 NAG-16 1C0  Z   R/W  100 3380 4096        60       9652-64       5348      15000
 Ready; T=0.01/0.01 14:27:06
 det 181
 TAPE 0181 DETACHED
 Ready; T=0.01/0.01 14:27:09
 cp log
 CONNECT= 02:14:38 VIRTCPU= 000:02.85 TOTCPU= 000:07.35
 LOGOFF AT 16:26:42 WET MONDAY 12/05/94

The installation documentation is supplied in a single file: DOCS DOC. This can be split using the COPYFILE command, e.g. using the following EXEC.

Unpacking the documentation file

&TRACE ALL
COPYFILE DOCS DOC Z UN = Z (FRL *AUN TOL *ZUN
COPYFILE DOCS DOC Z LIST = Z (FRL *ALIST TOL *ZLIST
COPYFILE DOCS DOC Z ESSINT = Z (FRL *AESSINT TOL *ZESSINT
COPYFILE DOCS DOC Z SUMMARY = Z (FRL *ASUMMARY TOL *ZSUMMARY
COPYFILE DOCS DOC Z NEWS = Z (FRL *ANEWS TOL *ZNEWS
COPYFILE DOCS DOC Z REPLACED = Z (FRL *AREPLACED TOL *ZREPLACED
COPYFILE DOCS DOC Z CALLS = Z (FRL *ACALLS TOL *ZCALLS
COPYFILE DOCS DOC Z CALLED = Z (FRL *ACALLED TOL *ZCALLED

One should then run some tests to verify that the installation is ok. As on other systems, we run three tests, A02AAF, G05FFF and X03AAF. These tests can be found in the file EXPT FORTRAN. As was the case with the documentation file, this file can be split using the COPYFILE command, or simply with a text editor. Input data for those tests that require it can be found in the file EXPD DATA.

A02AAF

*AA02AAF
*     A02AAF Example Program Text
*     Mark 14 Revised.  NAG Copyright 1989.
*     .. Parameters ..
      INTEGER          NIN, NOUT
      PARAMETER        (NIN=5,NOUT=6)
*     .. Local Scalars ..
      DOUBLE PRECISION XI, XR, YI, YR
*     .. External Subroutines ..
      EXTERNAL         A02AAF
*     .. Executable Statements ..
      WRITE (NOUT,*) 'A02AAF Example Program Results'
*     Skip heading in data file
      READ (NIN,*)
      READ (NIN,*) XR, XI
*
      CALL A02AAF(XR,XI,YR,YI)
*
      WRITE (NOUT,*)
      WRITE (NOUT,*) '   XR    XI      YR       YI'
      WRITE (NOUT,99999) XR, XI, YR, YI
      STOP
*
99999 FORMAT (1X,2F6.1,2F9.4)
      END


A02AAF Example Program Data                                                     
 -1.7 2.6

Running A02AAF

VFORT A02AAF
CERNLIB NAGLIB1 NAGLIB2
FILEDEF 5 DISK A02AAF DATA Z (PERM
LOAD A02AAF (NOMAP NOAUTO CLEAR START

The remaining two tests can be run in a similar manner, with the exception that G05FFF has no input data. The correct results from these programs can be found in the file EXPR RESULTS. Finally, one should modify or create the GIME NOTICE file, e.g.

Example GIME NOTICE file

---------------------------------------------------------------------------
 (c)1994 Numeric Algorithms Group Ltd.
 
         NAG Fortran Library - Mark 16
 
         The NAG software has been purchased ONLY for local usage at CERN.
         Please contact the CERN Program Library Office for information on
         the availability and licensing.
 
See the file UN DOC * (Users' Note) for supplementary information
regarding this version of the NAG Fortran Library.
 
---------------------------------------------------------------------------

The CERNLIB exec may also need modification to permit access to the new versions of NAGLIB. Once this has been done, the software can be announced.

VMS

VMS versions of NAGLIB are supplied on TK50. This is a problem as there are no TK50 drives on the CNLAVC, nor on VXCERN. For the time being, drives still exist on VXLDB2 node. This will not be the case for Mark 17 at which point a different method of distribution, e.g. DLT, must have been found for VMS systems.

On VMS systems, the NAG provided installation instructions should be followed. It was not possible to read the Fortran source on either AXP or VAX, but the libraries were successfully loaded.

The files were then copied to CERN:[NAG.MARK16 on VXCERN and the CNLAVC.

The tests may then be run as on other systems, e.g.

Example of running the tests on VMS

$ FORTRAN A02AAFE
$ LINK A02AAFE,CERN:[NAG.MARK16]NAG$LIBRARY/LIB
$ DEFINE FOR005 A02AAF.DATA
$ RUN A02AAFE



next up previous contents index
Next: References Up: Access to licensed Previous: MPA


Janne Saarela
Wed Mar 29 15:50:22 METDST 1995