1.一种用于生成硬件加速器(20)的配置的方法,包括:
-将具有多个代码行的程序(105)输入(110)到装置的前端(110),所述多个代码行描述要在所述硬件加速器(20)上实现的算法;
-从输入的程序(105)在所述前端(110)中生成(125)存储器中的数据流图;
-将生成的数据流图传递到所述装置的后端(135);
-优化所述后端(135)中的所述数据流图;以及
-输出(360)表示所述硬件加速器(20)的配置并从所述数据流图生成的输出程序(140)。
2.根据权利要求1所述的方法,还包括:在生成(125)所述数据流图之前,注入检测代码(112)。
3.根据权利要求2所述的方法,其中在一个或更多个代码行之前注入多个检测代码(112)。
4.根据以上权利要求中的任一项所述的方法,其中优化所述数据流图包括以下中的一项或更多项:识别所述数据流图中的重复序列,修剪(310)不必要的节点。
5.根据以上权利要求中的任一项所述的方法,还包括以下中的至少一项:减少算术运算中的步骤数量或增加并发算术运算的数量。
6.根据以上权利要求中的任一项所述的方法,还包括:在所述数据流图中标识(330)管线。
7.根据以上权利要求中的任一项所述的方法,还包括:识别存储器访问和以下中的至少一项:移除冗余存储器访问,在缓冲区中提供重用值的存储,或使存储器访问适应于在所述硬件加速器(20)中可用的资源。
8.根据以上权利要求中的任一项所述的方法,其中所述数据流图包括多个循环,并且所述方法还包括:在所述数据流图中展开(350)所述多个循环中的一个或更多个,然后重复对所述数据流图的优化。
9.一种硬件加速器(20)的配置方法,包括:
-生成根据权利要求1至8之一的硬件加速器(20)的配置,以表示所述硬件加速器(20)的配置的输出程序(140)的形式;以及
-向所述硬件加速器(20)提供(370)所述输出程序(140),从而使得实现所述硬件加速器(20)的配置。
10.一种装置,其被配置为实现根据权利要求1至8之一所述的方法。
11.一种包括多个电子组件的硬件加速器(20),其中所述多个电子组件通过由权利要求1至8之一所述的方法输出的输出程序(140)进行编程(370)。