设计一个高性能的HLS, 可以用任何优化策略,在保持函数功能的同时尽可能提高性能。希望
论坛里的大神给予具体优化的指导,最近几天调试太费劲了,希望大神给予保罗loop unroll, pipeline, dataflow, memory par
tition在内的多种优化策略具体怎么在这段代码里摆放优化,以及输入输出矩阵的interface, resource设置。要详细具体的策略,不是泛泛而谈的。
有重谢,多谢!
void matrixmul(
mat_a_t a[1024][1024], //a[1024][1024]
mat_b_t b[1024][1024], //b[1024][1024]
result_t res[1024][1024]) //res[1024][1024]
{
// Iterate over the rows of the A matrix
Row: for(int i = 0; i < 1024; i++) {
// Iterate over the columns of the B matrix
Col: for(int j = 0; j < 1024; j++) {
res[i][j] = 0;
// Do the inner product of a row of A and col of B
Product: for(int k = 0; k < 1024; k++) {
res[i][j] += a[i][k] * b[k][j];
}
}
}
}
一周热门 更多>