Next: , Previous: Header and macros, Up: Compilation with QDP


2.2 Libraries

Normally, it is necessary to link four QDP libraries for a given choice of color and precision. Other libraries may be required if mixing precisions or numbers of color. Routines involving only integers and the random state are common to all choices. Routines involving only real or complex numbers are common to all colors. Thus for single precision SU(3) the required libraries are linked through

-lqdp_f3 -lqdp_f -lqdp_int -lqdp_common

with the library search path set to QDP_HOME/lib. Each library will depend on the corresponding QLA library. Also since global sums are done in a higher precision, using them requires linking to QLA libraries of the next higher precision in addition to the corresponding conversion library. For the above example one would also need

-lqla_f3 -lqla_f -lqla_d3 -lqla_d -lqla_df3 -lqla_df -lqla_int -lqla_random -lqla_cmath -lm

in addition to the QIO and QMP libraries which typically are

-lqio -llime -lqmp

and any other system dependent libraries such as MPI. A complete list of the QDP libraries is given below.


Name Purpose


libqdp_common.a QDP utilities
libqdp_int.a integer and boolean
libqdp_f.a real and complex single precision
libqdp_d.a real and complex double precision
libqdp_df.a real and complex precision conversion
libqdp_f2.a 2 color single precision
libqdp_d2.a 2 color double precision
libqdp_df2.a 2 color precision conversion
libqdp_f3.a 3 color single precision
libqdp_d3.a 3 color double precision
libqdp_df3.a 3 color precision conversion
libqdp_fn.a N color single precision
libqdp_dn.a N color double precision
libqdp_dfn.a N color precision conversion