This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教C6678中进行矩阵运算的合理方法



evmc6678l平台,Win10+CCS7.1开发环境,安装的是ti-processor-sdk-rtos-c667x-evm-03.02.00.05-Windows-x86-Install开发包。利用C6678实现算法时需要一些矩阵相乘运算,问题如下:

1,采用dsplib_c66x_3_4_0_0中的DSPF_dp_mat_mul_gemm进行计算,存在的问题是该函数明确指出r1, c1 and c2 are assumed to be even.即行列都必须是

偶数,而我恰好需要进行奇数行列的计算,经过测试发现如3*3的矩阵相称也会出错,而偶数形式没问题,计算效率也满足要求。那么,对于奇数个行列的矩阵,

有没有解决办法呢?

2,采用linalg_1_2_0_0库中的cblas_dgemm进行计算,看函数声明没有限定行列个数必须是偶数,但是按照官方的测试代码dgemm_test.c根本无法编译通过,

官方的指导方法是要运行该测试,需要进行:

To run these examples, follow the steps listed below:

  • Set environment variable LINALG_DIR to <LINALG_installation_folder>, in addition to the environment variables listed in Rebuilding LINALG.
  • Go to folder <LINALG_installation_folder>/examples/dsponly
  • Type "make TARGET=<device_name>" to build the examples
  • Load the executable (.out file) to CCS and run

按照上面的方法,编译出out文件然后去ccs中run,对于实际工程没有任何意义。

目前按照dgemm_test中的方式,

添加头文件

#include <omp.h> /* OpenMP header */
#include <ti/libarch/libarch.h> /* Library Architecture header */
#include <ti/linalg/ticblas.h> /* TI CBLAS API extension header */
#include <ti/linalg/cblas.h> /* Standard CBLAS header */

编译出错:error "Unsupported OS! Please specify either LIB_OPENCL or LIB_RTOS"

请问在实际工程中,如何添加必要的配置,就能正常调用cblas_dgemm?

急急急!!!谢谢各位了