Intel® FPGA SDK for OpenCL™ Pro Edition: 最佳实践实践指南

ID 683521
日期 9/26/2022
Public
文档目录

3.6.4. 何时使用各种LSU

可以根据对您的负载/储存站点的访问模式的了解,或者您的芯片面积要求来决定使用不同的LSU。 以下是LSU样式,并按照它们的面积要求以递增顺序排列:
  1. Pipelined LSU (load/store):节省空间,但可能比其他LSU慢。如果您在面积方面受到限制,又或者您不需要连续的访问模式,那么就应该使用该LSU。
  2. Prefetching LSU (only for loads):也能节省空间,但是它非常适合完全连续的访问模式。将其用于非连续的访问模式,会降低吞吐量。,因此,仅当您明确知道访问的地址是严格意义上的连续才使用该LSU。
  3. Burst-coalesced LSU (load/store):面积方面比较昂贵,但是可以非常有效地处理连续的访问模式。由于检查访问模式是否连续,会在面积上有所损失。LSU动态尝试将多个内核请求合并成一个跨越多个存储字的大突发。
  4. Burst-coalesced cached LSU (only for loads):它在面积方面最昂贵,因为包含对于LSU来说是局部存储器。如果您打算多次读取存储器中的同一位置,尤其是跨多个ND范围线程,该LSU有助于提高吞吐量。