Altera_Forum
Honored Contributor
7 years agoabnormal hardware resource usage
Can anyone tell me why my resource usage increase non-linearly when I double parallelism.
I have set KERNEL_PARALLEL=64, FILTER_PARALLEL=8, so I expect every clock will have 64x8=512 MAC. and report.html report that ALUTs, FF, RAM, DSP 32-bit Integer Add (x640) 15981 0 0 0 32-bit Integer Multiply (x512) 0 0 0 256 As expect have 512 Multiply, my question is , why only use 256 dsp? and why 32 bit add is 640? ------------------------------------------ Furthermore, when I set KERNEL_PARALLEL=64, FILTER_PARALLEL=16, the resource usage become very large, that I can't understand. How to explain this usage? Add(x13986) 456398 0 0 0 And(x13248) 145728 0 0 0 Mul(x00610) 000000 0 0 305typedef struct{
char kk;
} kernel_parallel;
typedef struct{
kernel_parallel ff;
} filter_parallel;
__kernel(){
int result_buffer;
filter_parallel w_in,data_in;
# pragma unroll
for(int i=0; i<FILTER_PARALLEL; i++){
# pragma unroll
for(int j=0; j<KERNEL_PARALLEL; j++){
​ result_buffer += w_in.ff.kk * data_in.ff.kk;
}
}
}