在HLS 库中,有很多很好的函数是没有说明的,需要我们去自己读源码,
当然也有很多有说明的函数,也需要我们去读源码!------忍不了的,可以自己写了。。。
svd这个函数在线代运算里是非常有用的,采用svd_balanced这个IP实现了求U ,V 的分解,注意这个函数用的时候,在头文件里作者直接例化了函数里的所有数组大小。相当于给FPGA里的存储单元分配了空间。对硬件程序员还是蛮有用的。
而看hls::add这个函数,是将两个mat元素相加,看源码会发现,这货还不支持FLOAT&float,呵呵,自己写了一个,为自己和赛灵思的懒惰羞愧中。。。
补充:由于SVD_pairs不支持2维矩阵的分解,所以采用SVDTraits::ARCH=0,即svd_basic,虽然优化程度不如SVD_pairs,总好过特例无法用。如果后期上设备时,有硬件限制,再改回来重新生成就好了。