|The ESSL header file essl.h, used for C and C++ programs, |is installed in the /usr/include |directory. When using ESSL, the compiler option |-qnocinc=/usr/include/essl must be specified.
|If you are using the IBM Open Class Complex Mathematics Library, you |automatically use the definition of short-precision complex data provided in |the ESSL header file. If you prefer to specify your own definition for |short-precision complex data, add -D_CMPLX to your commands |(as shown in the table below). Otherwise, ESSL will use the IBM Open Class Complex |Mathematics Library or the Standard Numerics Library, as described in Selecting the <complex> or <complex.h> Header File.
|If you prefer to explicitly specify that you want to use the Standard |Numerics Library facilities for complex arithmetic, add |-D_ESV_COMPLEX_ to your command as shown in the table |below.
|The ESSL header file supports two alternatives for declaring scalar |output arguments. By default, the arguments are declared to be type |reference. If you prefer for them to be declared as pointers, add |-D_ESVCPTR to your commands as shown in the table |below.
|When linking and running your program, you must modify your existing |job procedures for ESSL, to set up the necessary libraries.
|If you are accessing ESSL from a C++ program, you can compile and
|link using the commands shown in the table below.
|
ESSL Library Name | Command | |
---|---|---|
SMP | 32-bit |
xlC_r -O xyz.C -lesslsmp -qnocinc=/usr/include/essl xlC_r -O -D_CMPLX xyz.C -lesslsmp -qnocinc=/usr/include/essl xlC_r -O -D_ESV_COMPLEX_ xyz.C -lesslsmp -qnocinc=/usr/include/essl xlC_r -O -D_ESVCPTR xyz.C -lesslsmp -qnocinc=/usr/include/essl |
64-bit |
xlC_r -O -q64 xyz.C -lesslsmp -qnocinc=/usr/include/essl xlC_r -O -D_CMPLX -q64 xyz.C -lesslsmp -qnocinc=/usr/include/essl xlC_r -O -D_ESV_COMPLEX_ -q64 xyz.C -lesslsmp -qnocinc=/usr/include/essl xlC_r -O -D_ESVCPTR -q64 xyz.C -lesslsmp -qnocinc=/usr/include/essl | |
Serial | 32-bit |
xlC_r -O xyz.C -lessl -qnocinc=/usr/include/essl xlC_r -O -D_CMPLX xyz.C -lessl -qnocinc=/usr/include/essl xlC_r -O -D_ESV_COMPLEX_ xyz.C -lessl -qnocinc=/usr/include/essl xlC_r -O -D_ESVCPTR xyz.C -lessl -qnocinc=/usr/include/essl |
64-bit |
xlC_r -O -q64 xyz.C -lessl -qnocinc=/usr/include/essl xlC_r -O -D_CMPLX -q64 xyz.C -lessl -qnocinc=/usr/include/essl xlC_r -O -D_ESV_COMPLEX_ -q64 xyz.C -lessl -qnocinc=/usr/include/essl xlC_r -O -D_ESVCPTR -q64 xyz.C -lessl -qnocinc=/usr/include/essl | |
Serial | 32-bit |
xlC -O xyz.C -lessl -qnocinc=/usr/include/essl xlC -O -D_CMPLX xyz.C -lessl -qnocinc=/usr/include/essl xlC -O -D_ESV_COMPLEX_ xyz.C -lessl -qnocinc=/usr/include/essl xlC -O -D_ESVCPTR xyz.C -lessl -qnocinc=/usr/include/essl |
64-bit |
xlC -O -q64 xyz.C -lessl -qnocinc=/usr/include/essl xlC -O -D_CMPLX -q64 xyz.C -lessl -qnocinc=/usr/include/essl xlC -O -D_ESV_COMPLEX_ -q64 xyz.C -lessl -qnocinc=/usr/include/essl xlC -O -D_ESVCPTR -q64 xyz.C -lessl -qnocinc=/usr/include/essl |