ECASLab / hls-fpga-accelerators

Collection of kernel accelerators optimised for LLM execution
GNU Lesser General Public License v2.1
7 stars 0 forks source link

What the parameters "kShiftData" in matmul_tb.cc mean? #1

Open sxbkdby8 opened 1 month ago

sxbkdby8 commented 1 month ago

I can't find any other references about this variable. Thank you for your help!

lleon95 commented 1 month ago

Hi. Yes. We are still working on it and will improve the documentation.

The kShiftData can be computed as the log2(kPackets), where kPackets is the number of data that can fit in the bus (kBus).

I saw it is undefined, so, you can replace the

  int size_a = a_rows * (b_cols >> kShiftData);
  int size_b = c_cols * (b_cols >> kShiftData);
  int size_c = a_rows * (c_cols >> kShiftData);

by

  int size_a = a_rows / kPackets;
  int size_b = c_cols / kPackets;
  int size_c = a_rows / kPackets;

Cheers, Leon

sxbkdby8 commented 1 month ago

Hi, Leon   Thank you for your patient reply. Looking forward for your further works. Best regards Chen

Chen @.***

 

------------------ 原始邮件 ------------------ 发件人: "ECASLab/hls-fpga-accelerators" @.>; 发送时间: 2024年7月30日(星期二) 晚上11:41 @.>; @.**@.>; 主题: Re: [ECASLab/hls-fpga-accelerators] What the parameters "kShiftData" in matmul_tb.cc mean? (Issue #1)

Hi. Yes. We are still working on it and will improve the documentation.

The kShiftData can be computed as the log2(kPackets), where kPackets is the number of data that can fit in the bus (kBus)

Cheers, Leon

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>