Pass NUM_DSP_CORES to ticblas build since it uses blis.h.
[dense-linear-algebra-libraries/linalg.git] / readme.txt
index bfd698f45739f25a85d479e02fc7c93c4f8fff93..06f557770cac624d3982726e498f6455e207aa96 100644 (file)
@@ -2,7 +2,7 @@ Build instructions of LINALG component:
 
 1.--------- Set environment variables ---------
 
-Following environment vaialbes must be set in order to build LINALG (version numbers are used as examples):
+Following environment vaialbes must be set in order to build DSP-only LINALG (version numbers are used as examples):
 
 export CGTROOT="<TI_CGT_INSTALLATION_ROOT>/cgt-c6x"
 export PDK_DIR="<COMPONENTS_INSTALLATION_ROOT>/pdk_c667x_2_0_1"
@@ -16,7 +16,12 @@ export EDMA3_DIR="<COMPONENTS_INSTALLATION_ROOT>/edma3_lld_02_12_01_23"
 export LIBARCH_DIR="<COMPONENTS_INSTALLATION_ROOT>/libarch_1_0_0_0"
 export PATH=<TI_CGT_INSTALLATION_ROOT>/cgt-c6x/bin:$PATH
 
-2.--------- Build LINALG source code ---------
+Additional environment variables must be set to build ARM+DSP LINALG:
+export TI_OCL_INSTALL_DIR="<PSDK_INSTALLATION_ROOT>/linux-devkit/sysroots/cortexa15hf-vfp-neon-linux-gnueabi/usr/share/ti/opencl"
+export TI_OCL_CGT_INSTALL="<PSDK_INSTALLATION_ROOT>/linux-devkit/sysroots/x86_64-arago-linux/usr/share/ti/cgt-c6x"
+export TARGET_ROOTDIR="<PSDK_INSTALLATION_ROOT>/linux-devkit/sysroots/cortexa15hf-vfp-neon-linux-gnueabi"
+
+2.--------- Build LINALG source code and make it a RTSC package ---------
 
 From the root folder of LINALG, the build command is:
 make -f build/Makefile MEM_MODEL=<memory_model_name> TARGET=<target_name> LIBOS=<os_name>
@@ -27,11 +32,11 @@ where:
    3) <os_name> must be one of LIB_OPENCL or LIB_RTOS
 
 Examples:
-1) to build LINALG for K2H in OpenCL environment, type:
+1) to build LINALG Large memory model for K2H in OpenCL environment, type:
 make -f build/Makefile MEM_MODEL=Large TARGET=SOC_K2H LIBOS=LIB_OPENCL
 
-2) to build LINALG for C6678 in RTOS environment, type:
-make -f build/Makefile MEM_MODEL=Small TARGET=SOC_C6678 LIBOS=LIB_RTOS
+2) to build LINALG Medium memory model for C6678 in RTOS environment, type:
+make -f build/Makefile MEM_MODEL=Medium TARGET=SOC_C6678 LIBOS=LIB_RTOS
 
 3.--------- Build LINALG examples ---------
 
@@ -46,3 +51,25 @@ export LINALG_DIR="<LINALG installation folder>"
    1) For DSP-only: cd dsponly; make TARGET=<target_name> LIBOS=LIB_RTOS
       where: <target_name> must be one of SOC_K2H, SOC_C6678, or SOC_AM572x
 
+4.--------- Build BLIS test suite for ARM+DSP ---------
+# BLIS ARM+DSP test suite Makefile links ARM+DSP lib and ARM BLIS lib from inside src folder
+# BLIS_ARM_LIB_DIR = ../install/arm/lib
+# BLIS_BLAS_ACC_LIB_DIR =  ../../blasblisacc/lib
+# BLIS_LIB       := $(BLIS_BLAS_ACC_LIB_DIR)/libcblas_armplusdsp.a $(BLIS_ARM_LIB_DIR)/libblis.a -lOpenCL -locl_util -lstdc++ -lrt -lpthread 
+# Use same environment variables as building the examles.
+cd src/ti/linalg
+make BLIStest       
+
+5.--------- Build BLIS test suite for DSP-only ---------
+# BLIS DSP test suite shares same make process defined in examples/dsponly/common/Makefile.common. It searches include path and lib path
+# in RTSC packaging style: $(LINALG_DIR)/packages/ti/linalg. Therefore, to build BLIS test suite, LINALG needs to be installed first.
+# Use same environment variables as building the examles.
+cd src/ti/linalg
+make cleanDSPlibs MEM_MODEL=Medium TARGET=SOC_C6678 LIBOS=LIB_RTOS
+cd -
+rm -r exports
+make -f build/Makefile MEM_MODEL=Medium TARGET=SOC_C6678 LIBOS=LIB_RTOS
+rm -r ~/ti/linalg_1_2_0_0_rtos/*
+cp -r exports/linalg_1_2_0_0/* ~/ti/linalg_1_2_0_0_rtos
+cd src/ti/linalg/blis/testsuite/dsponly
+make TARGET=SOC_C6678