========== Run applications with LINALG libraries: ========== 1. include following headers files located at /usr/include after MCSDK-HPC installation: - BLAS: cblas.h - LAPACK: f2c.h, blaswrap.h, clapack.h - Note: fc2.h has a complex type which is different from the complex type in C99 complex.h. If f2c.h is included, C99 complex.h should not be used. 2. link following LINALG libraries located at /usr/lib after MCSDK-HPC installation: - BLAS: libblis.a, libcblas_armplusdsp.a - LAPACK: libcblaswr.a, liblapack.a, libf2c.a - Note: cblas calls are not thread safe 3. setup environment variables: - BLIS_IC_NT for number of ARM threads: 1 through 4 - TI_CBLAS_OFFLOAD for BLAS offloading (level 1, 2, or 3) configuration: - set to xyz, where x,y,z correspond to level 1, level 2, and level 3 and can take any of 3 values: - 0: no offloading to DSP, ie. always running on ARM - 1: forced offloading to DSP, ie. always running on DSP - 2: conditional offloading to DSP based on matrix sizes - example: TI_CBLAS_OFFLOAD=001 means level 1&2 functions will always run on ARM, and level 3 functions will always run on DSP. - default offloading configuration if TI_CBLAS_OFFLOAD is not set: - 002 (level 1&2 no offloading, level 3 offloading based on sizes) - Note: in this release, conditional offloading (value 2) is not available for level 1 and level 2. If this option is configured for level 1 and level 2, functions will be offloaded to DSP. ========== Rebuild LINALG libraries: ========== 1. rebuild ARM without rebuilding DSP code: make ARMonly 2. rebuild both DSP and ARM code: make ARMplusDSP ========== Install LINALG libraries: ========== 1. install libraries to /usr/lib: make install 2. install libraries to another directory: make install DESTDIR=