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

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

5.7.3. 通道深度

停顿通道中所述,通道为两个内核之间,或者内核与I/O通道之间提供通信链接。通道深度计数器补码停顿计数,以解释导致通道停顿的问题。

  • 如果通道持续接近为空,则通道读取端可能比写入端工作得更快,因此必须加快写入端得速度。通道深度可能需要减少。
  • 如果通道已满,则写入端可能更快。通道深度可能需要增加。
  • 在更复杂的模式中,如果通道的平均深度远低于最大深度,那么写入端可能会尝试一次写入大量数据并过多于读取端,而其余部分的时间中写入的速度又很慢。如果重复这种模式,流水线中会冒泡(bubble)但不会造成长时间的停顿,因此使用通道深度计数器进行追踪可能会有用。
注: 无法直接控制通道深度,因为编译器会优化通道以更好地使用区域资源,并且始终根据请求的通道大小进行舍入。因此,最终的通道深度大约为32字节、512字节或者1024字节的倍数。