1.一种高层次综合工具中的指引文件自动生成方法,其特征在于:包括有以下步骤:
a、获取代码中的循环信息,若存在人工定义的循环展开因子,则直接执行步骤c,否则执行步骤b;
b、根据循环信息对循环进行展开处理,通过设计空间探索计算得到循环展开因子;
c、根据步骤a或步骤b中得到的循环展开因子生成高层次综合工具的指引文件;
所述步骤b具体包括以下子步骤:
b1、根据循环信息建立循环依赖关系图;
b2、计算最大迭代并行距离;
b3、计算内存总线最大访问量;
b4、通过设计空间探索计算得到循环展开因子;
步骤b2中的最大迭代并行距离为指令间没有数据依赖的距离;步骤b3中的内存总线最大访问量根据最大迭代并行距离与访存指令能占满内存总线数的最大值计算得到;所述设计空间探索采用二分搜索的方式进行,所述设计空间探索的范围是从0到步骤a中得到的循环迭代距离,所述设计空间探索的约束条件为步骤b3中求得的资源消耗量。
2.根据权利要求1所述的一种高层次综合工具中的指引文件自动生成方法,其特征在于:所述步骤a中的循环信息包括有循环名称、循环迭代距离和人工定义的循环展开因子。
3.一种高层次综合工具中的指引文件自动生成系统,其特征在于:该系统包括:
收集判断单元,用于获取代码中的循环信息,并判断是否存在人工定义的循环展开因子,如存在,则直接运行文件生成单元;否则运行循环处理单元;
循环处理单元,用于根据循环信息对循环进行展开处理,通过设计空间探索计算得到循环展开因子;
文件生成单元,用于根据收集判断单元或循环处理单元中得到的循环展开因子生成高层次综合工具的指引文件;
所述循环处理单元包括有:
循环依赖图建立子单元,用于根据循环信息建立循环依赖图;
迭代并行距离计算子单元,用于计算最大迭代并行距离;
内存总线访问量计算子单元,用于计算内存总线的最大访问量;
设计空间探索子单元,用于通过设计空间探索计算得到所需的循环展开因子;
所述迭代并行距离计算子单元中的最大迭代并行距离为指令间没有数据依赖的距离;所述内存总线访问量计算子单元中的内存总线最大访问量根据最大迭代并行距离与访存指令能占满内存总线数的最大值计算得到;所述设计空间探索采用二分搜索的方式进行,所述设计空间探索的范围是从0到收集判断单元中得到的循环迭代距离,所述设计空间探索的约束条件为内存总线访问量计算子单元中求得的资源消耗量。
4.根据权利要求3所述的一种高层次综合工具中的指引文件自动生成系统,其特征在于:所述循环信息包括有循环名称、循环迭代距离和人工定义的循环展开因子。