Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dxml(3dxml) — Extended Math Library 3.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DXML(3dxml)  —  Subroutines

Digital

Name

dxml − A library of linear algebra and signal processing routines

Description

Digital Extended Math Library (DXML) V3.4 for Digital UNIX is a set of computationally intensive mathematical subroutines that is optimized for Alpha AXP platforms. DXML includes four component libraries covering the areas of:

•Basic Linear Algebra (BLAS): includes array-math, BLAS 1, BLAS 1E, BLAS 1S, BLAS 2 and BLAS 3. 

•Linear and Eigen System Solvers (LAPACK)

•Sparse Linear System Solvers: includes direct and iterative solvers

•Signal Processing: includes FFTs, cos/sin transforms, convolution, correlations and digital filters

Most routines are available in both real and complex versions, as well as in both single and double precision. 

Further details about DXML are provided in the manpages for the following sub-components:

Sub-componentFunction

array-mathStandard math functions operating on arrays

blas1Vector-vector linear algebra subprograms

blas1eEnhancements to BLAS 1

blas1sSparse version of BLAS 1

blas2Matrix-vector linear algebra subprograms

blas3Matrix-matrix linear algebra subprograms

lapackDense linear system solvers and eigensolvers

iterative-solversSparse iterative linear system solvers

skyline-solversDirect solver for skyline matrices

signal-processingFFTs, cos/sin transforms, convolution, correlation, filters

random-numbersRandom number generator subprograms

sortsSort subprograms

Parallel routines

DXML 3.4 includes a parallel version of the library for SMP configuration.  The parallel library contains the exact same set of subroutines with the same name and calling standards with a subset of the routines parallelized to take advantage of additional CPUs. The following routines are parallelized in this version of DXML:

  {S,D,C,Z}GEMV                    BLAS2

  {S,D,C,Z}GEMM                    BLAS3

  {S,D,C,Z}GETRF                   LAPACK
  {S,D,C,Z}POTRF

  {S,D,C,Z}FFT                     Signal Processing - 1D
  {S,D,C,Z}FFT_APPLY
  {S,D,C,Z}FFT_INIT
  {S,D,C,Z}FFT_EXIT

  {S,D,C,Z}FFT_2D                  Signal Processing - 2D
  {S,D,C,Z}FFT_INIT_2D
  {S,D,C,Z}FFT_APPLY_2D
  {S,D,C,Z}FFT_EXIT_2D

  {S,D,C,Z}FFT_3D                  Signal Processing - 3D
  {S,D,C,Z}FFT_INIT_3D
  {S,D,C,Z}FFT_APPLY_3D
  {S,D,C,Z}FFT_EXIT_3D

  DITSOL_DRIVER                    Iterative Solvers
 
  DITSOL_PBCG
  DITSOL_PCG
  DITSOL_PCGS
  DITSOL_PGMRES
  DITSOL_PLSCG
  DITSOL_PTFQMR
 
  DMATVEC_GENR
  DMATVEC_SDIA
  DMATVEC_UDIA
 
  DCREATE_DIAG_GENR
  DCREATE_DIAG_SDIA
  DCREATE_DIAG_UDIA
 
  DAPPLY_DIAG_ALL
 
  DCREATE_POLY_GENR
  DCREATE_POLY_SDIA
  DCREATE_POLY_UDIA
 
  DAPPLY_POLY_GENR
  DAPPLY_POLY_SDIA
  DAPPLY_POLY_UDIA

  DSSKYF                           Skyline Solvers
  DUSKYF
 

Linking with DXML

To compile and link a Fortran program, my_prog.f, that contains calls to DXML routines:

f77 my_prog.f -ldxml

To compile and link a C program, my_prog.c, that contains calls to DXML routines:

cc -migrate my_prog.c -ldxml

By using the -migrate flag you take advantage of the DEC C compilation environment. 

To compile and link a Fortran program with the parallel version of DXML:

f77 my_prog.f -ldxmlp

Executing parallel programs

Before executing programs linked with the parallel version of DXML two environment variables need to be set. 

The PARALLEL environment variable must be  set  to  a  numeric  value defining  the  number  of  threads  to  be  used. The number of parallel threads is usually equal to the number of processors on the system. 

The KMP_STACKSIZE environment variable  must  be  set  to  a  numeric value.   KMP_STACKSIZE defines the size of each thread’s private stack.  The value must be at least 262144 which defines a 256K  byte  private stack. 

Eg. 

> setenv PARALLEL 3

> setenv KMP_STACKSIZE 262144

See Also

array-math (3dxml), blas1 (3dxml), blas1e (3dxml), blas1s (3dxml), blas2 (3dxml), blas3 (3dxml), signal-processing (3dxml), iterative-solvers (3dxml), skyline-solvers (3dxml), random-numbers (3dxml), sorts (3dxml)

DXML 3.4 release notes in /usr/opt/XMDLOA340/docs/XMD340_release_note.txt

Examples illustrating the use of DXML in /usr/examples/dxml

Digital Extended Math Library for Digital UNIX Reference Manual

LAPACK User’s Guide, E. Anderson, et al., SIAM, 1995. 
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026