程序开发支援装置以及程序开发支援软件制造方法及图纸

技术编号:15050486 阅读:60 留言:0更新日期:2017-04-05 22:11
本发明专利技术公开了程序开发支援装置和程序开发支援软件。该程序开发支援装置生成用于通过目标设备执行以图形形式描述的数据处理的程序,能够提高设计的生产率。程序开发支援装置具有GUI部、程序生成部、处理执行函数数据库和数据转送函数数据库。在数据处理所包含的某个处理能够由安装在目标设备上的不同种类的运算装置执行时,在处理执行函数数据库中保存用于使各个运算装置执行该处理的处理执行函数,在数据转送函数数据库中保存为此的数据转送函数。通过GUI部能够选择通过哪个运算装置执行该处理,程序生成部读取与被选择的运算装置对应的处理执行函数和数据转送函数,生成用于使目标设备执行作为目的的数据处理的程序。

【技术实现步骤摘要】

本专利技术涉及程序开发支援装置以及程序开发支援软件,尤其优选用于图形GUI编程环境,图形GUI编程环境用于根据以图形形式描述的用户应用程序开发利用目标设备上的运算装置进行动作的程序。
技术介绍
在由科纳斯组织(TheKhronosGroup,以下称为Khronos)制定的面向图像识别的API(ApplicationProgrammingInterface:应用程序编程界面)即OpenVX中,图形管理器对以图形形式描述的用户应用程序进行解析,利用目标设备上的运算装置高效进行处理。图1示出用于OpenVX的以图形形式描述的用户应用程序的一个例子,图2示出与其对应的OpenVX编码的例子。在OpenVX编码中,首先使用称为vx**Node()的函数组定义图形结构。然后,通过vxVerifyGraph()函数解析图形结构,决定图形中表示的处理的并行性和处理顺序。然后,通过vxProcessGraph()函数进行处理。在此,如图1所示,针对输入图像in,在vxThreshold结点进行二值化处理,然后,在vxSubtract和vxAdd结点进行相减计算以及相加计算,最后,将这些结果相加,生成输出图像out。在该例子中,需要首先处理vxThreshold,但是也可以先处理vxSubtract和第一次的vxAdd中的任意一个,也可以并行处理。此外,在此所说的图形是有向图形(DirectedAcyclicGraph)。对于在图形上使用的结点(BaseNode),为了确保互换性,由Khronos严格地定义所需精度和举动等的标准。例如,用于算出每个像素的边缘方向的vxPhase结点被定义为以0~255的8bit精度输出的结点。在OpenVX之外,也提出有将有向图形作为输入方式的程序开发环境。在专利文献1中公开了一种控制程序组建系统,其在图形用户界面(GUI:GraphicalUserInterface)的显示器上使用通过连接线将表示运算功能的结点连接而成的图形,来组建作为目标的控制程序。对于各种系统,将有向图形作为建模的通用手段,从而能够容易地进行系统的统合。在专利文献2中公开了在多处理器系统上执行的模拟系统中通过使程序并行执行来实现高速化的技术。作为OpenVX的目标设备,可列举SoC(System-on-a-Chip:片上系统)等的系统LSI(LargeScaleIntegratedcircuit:大规模集成电路)。在用作目标设备的SoC等的系统LSI中,有的系统LSI除了CPU(CentralProcessingUnit:中央处理器)之外还安装有对图像处理特有的运算功能进行强化的图像处理器和使特殊的运算高速化的加速器。例如,在瑞萨电子株式会社的R-CarV2H中,除了CPU之外还安装有2D和3D的图形引擎,而且还安装有称为图形识别引擎(ImageRecognitionEngine)的加速器。现有技术文献专利文献专利文献1:日本特开2004-265393号公报专利文献2:日本特开2011-096107号公报本专利技术人对专利文献1、2进行研究的结果,发现以下的新问题。如OpenVX那样,在根据以图形形式描述的用户应用程序开发利用目标设备上的运算装置进行动作的程序的图形GUI编程环境中,开发者能够将对某个结点的处理安装在多个不同种类的运算装置中。此时,在不同种类的运算装置中,得到的处理结果相同,但是直到得到处理结果的处理时间和此时的耗电量则有可能不同。例如,在除了CPU之外还安装有运算装置(加速器)的目标设备中,由于在CPU和加速器的内部结构大不相同,所以其结果是,能够考虑到对某个处理的处理时间和耗电量将会发生变化。在此,“不同种类的运算装置”是指用于执行运算的电路结构不同的运算装置。例如,不仅包括如CPU和加速器那样大不相同的运算装置,而且即使是相同的CPU,使用乘法电路进行乘法运算的命令和不使用乘法电路而利用反复执行加法电路的函数执行同一乘法运算的情况,也属于不同种类的运算装置。由于能够执行相同处理的运算装置具有多个候选,所以具有能够提高用户的设计自由度的优点,相反,为了针对各个处理选择最佳的运算装置,需要一边对运算装置的分配进行各种改变一边评价处理时间和耗电量。因此,在运算装置的种类多的情况下或构成用户应用程序的处理多的情况下,即在图形复杂的情况下,需要评价和探索很多组合,从而谋求设计生产率的进一步提高。图形GUI编程环境是适合用于提高用户应用程序的生产率的环境。至此,提出有通过将部件结合这样的诀窍来简单地创建用户应用程序的方法,以及将安装有多个同种运算器的多处理器等的系统作为对象的方法。例如,具有通过鼠标操作构建用户应用程序的方法。在专利文献1中,公开了利用GUI生成程序的方法。在专利文献2中,示出了使图形进行循环地最佳化的方法。但是,在现有技术中,仅停留于已知使对在图形上并行执行的结点和同种运算器的分配最佳化这样的方法。由于不存在指定对不同种类的运算装置进行分配的方法,所以可知存在这样的问题:在运算装置的种类多的情况下或构成用户应用程序的处理多的情况下,即在图形复杂的情况下,不能高效地评价和探索很多组合。
技术实现思路
以下说明用于解决这样的问题的手段,但是,根据本说明书的记载以及附图,也能够明确其他的问题和新特征。根据一个实施方式如下。即,一种程序开发支援装置,生成用于通过目标设备执行基于图形信息以图形形式描述的数据处理的程序,具有图形用户界面(GUI)部、程序生成部、处理执行函数数据库和数据转送函数数据库。图形信息是将所述数据处理所包含的多个处理中的各个处理作为结点且将数据的流向作为有向连接线的图形,图形信息显示在所述GUI部上。在所述数据处理所包含的某个处理能够由安装在目标设备上的不同种类的多个运算装置执行时,在处理执行函数数据库中保存用于通过各个运算装置执行该处理的多个处理执行函数,在数据转送函数数据库中保存用于通过各个运算装置执行该处理的多个数据转送函数。GUI部显示该处理能够由所述多个运算装置执行,使用户选择由哪个运算装置执行该处理。程序生成部从处理执行函数数据库和数据转送函数数据库中分别读取与被选择的运算装置对应的适当的处理执行函数和数据转送函数,生成用于通过目标设备执行作为目的的数据处理的程序。专利技术效果以下简单说明通过所述一个实施方式能够得到的效果。即,在能够通过不同种类的运算装置执行作为目的的数据处理所包含的一个处理时,能够容易地指定由哪个运算装置执行该处理,并且,生成由指定的运算装置执行的程序,因此能够容易地评价和探索很多组合,从而能够提高设计的生产率。附图说明图1是表示基于用户应用程序的OpenVX的以图形形式描述的描述例子的说明图。图2是表示与图1中的图形形式描述对应的OpenVX编码的例子的说明图。图3是表示第一实施方式的程序开发支援装置的结构的框图。图4是表示安装有第一实施方式的程序开发支援装置的硬件的结构例子的框图。图5是表示目标设备的结构例子的框图。图6是表示第二运算装置30具有的设定寄存器31的一个例子的说明图。图7是表示数据转送装置40具有的设定寄存器41的一个例子的说明图。图8是表示图形信息输入和编辑画面的一个例子的说明图。图9是表示执行处理的运算装置的切换操作的一个本文档来自技高网
...

【技术保护点】
一种程序开发支援装置,生成通过在具有多个运算装置的目标设备上动作来进行数据处理的程序,其特征在于,具备显示装置、输入装置和计算机,并且具有作为所述计算机的功能而安装的图形用户界面部、图形信息保存部、程序生成部、处理执行函数数据库和数据转送函数数据库,所述图形用户界面部将由所述目标设备执行的所述数据处理的图形信息作为图形而显示在所述显示装置上,所述图形将所述数据处理所包含的多个处理中的各个处理作为结点且将数据的流向作为有向连接线而成,所述图形信息保存部保存所述图形信息,所述处理执行函数数据库针对所述多个运算装置中的能够执行所述处理的各个运算装置,保存用于使该运算装置执行所述处理的处理执行函数,所述数据转送函数数据库保存用于使所述处理执行函数由对应的运算装置执行的数据转送函数,所述程序生成部基于所述图形信息而从所述处理执行函数数据库读取适当的处理执行函数,且从所述数据转送函数数据库读取适当的数据转送函数,来生成所述程序,所述多个处理中的第一处理能够由所述多个运算装置中的种类相互不同的第一运算装置和第二运算装置中的任一个运算装置执行,所述处理执行函数数据库保存用于使所述第一运算装置执行所述第一处理的第一处理执行函数和用于使所述第二运算装置执行所述第一处理的第二处理执行函数,所述数据转送函数数据库保存第一数据转送函数和第二数据转送函数中的至少一方,其中,所述第一数据转送函数用于使所述第一运算装置执行所述第一处理执行函数,所述第二数据转送函数用于使所述第二运算装置执行所述第二处理执行函数,在所述数据处理中包含所述第一处理时,所述图形用户界面部能够在所述显示装置显示在与所述第一处理对应的结点能够通过所述第一运算装置或所述第二运算装置执行所述第一处理,且能够利用所述输入装置来选择通过所述第一运算装置和所述第二运算装置中的哪个运算装置来执行所述第一处理,所述程序生成部与利用所述输入装置而被选择的运算装置对应地从所述处理执行函数数据库选择性地读取所述第一处理执行函数或所述第二处理执行函数,且从所述数据转送函数数据库选择性地读取所述第一数据转送函数或所述第二数据转送函数,来生成所述程序。...

【技术特征摘要】
2015.09.24 JP 2015-1865691.一种程序开发支援装置,生成通过在具有多个运算装置的目标设备上动作来进行数据处理的程序,其特征在于,具备显示装置、输入装置和计算机,并且具有作为所述计算机的功能而安装的图形用户界面部、图形信息保存部、程序生成部、处理执行函数数据库和数据转送函数数据库,所述图形用户界面部将由所述目标设备执行的所述数据处理的图形信息作为图形而显示在所述显示装置上,所述图形将所述数据处理所包含的多个处理中的各个处理作为结点且将数据的流向作为有向连接线而成,所述图形信息保存部保存所述图形信息,所述处理执行函数数据库针对所述多个运算装置中的能够执行所述处理的各个运算装置,保存用于使该运算装置执行所述处理的处理执行函数,所述数据转送函数数据库保存用于使所述处理执行函数由对应的运算装置执行的数据转送函数,所述程序生成部基于所述图形信息而从所述处理执行函数数据库读取适当的处理执行函数,且从所述数据转送函数数据库读取适当的数据转送函数,来生成所述程序,所述多个处理中的第一处理能够由所述多个运算装置中的种类相互不同的第一运算装置和第二运算装置中的任一个运算装置执行,所述处理执行函数数据库保存用于使所述第一运算装置执行所述第一处理的第一处理执行函数和用于使所述第二运算装置执行所述第一处理的第二处理执行函数,所述数据转送函数数据库保存第一数据转送函数和第二数据转送函数中的至少一方,其中,所述第一数据转送函数用于使所述第一运算装置执行所述第一处理执行函数,所述第二数据转送函数用于使所述第二运算装置执行所述第二处理执行函数,在所述数据处理中包含所述第一处理时,所述图形用户界面部能够在所述显示装置显示在与所述第一处理对应的结点能够通过所述第一运算装置或所述第二运算装置执行所述第一处理,且能够利用所述输入装置来选择通过所述第一运算装置和所述第二运算装置中的哪个运算装置来执行所述第一处理,所述程序生成部与利用所述输入装置而被选择的运算装置对应地从所述处理执行函数数据库选择性地读取所述第一处理执行函数或所述第二处理执行函数,且从所述数据转送函数数据库选择性地读取所述第一数据转送函数或所述第二数据转送函数,来生成所述程序。2.根据权利要求1所述的程序开发支援装置,其特征在于,所述第一处理还能够由所述多个运算装置中的与所述第一运算装置和所述第二运算装置种类不同的第三运算装置执行,所述处理执行函数数据库还保存用于使所述第三运算装置执行所述第一处理的第三处理执行函数,所述数据转送函数数据库保存用于使所述第三运算装置执行所述第三处理执行函数的第三数据转送函数,在所述数据处理中包含所述第一处理时,所述图形用户界面部在所述显示装置显示在与所述第一处理对应的结点能够通过所述第一运算装置、所述第二运算装置或所述第三运算装置来执行所述第一处理,且能够利用所述输入装置来选择通过所述第一运算装置、所述第二运算装置和所述第三运算装置中的哪个运算装置来执行所述第一处理,所述程序生成部与利用所述输入装置而被选择的运算装置对应地从所述处理执行函数数据库选择性地读取所述第一处理执行函数、所述第二处理执行函数或所述第三处理执行函数,且从所述数据转送函数数据库选择性地读取所述第一数据转送函数、所述第二数据转送函数或所述第三数据转送函数,来生成所述程序。3.根据权利要求1所述的程序开发支援装置,其特征在于,所述第一运算装置为通用处理器,所述第二运算装置为加速器,所述数据处理所包含的所有处理能够由所述第一运算装置执行,所述数据处理所包含的一部分处理还能够由所述第二运算装置执行,所述处理执行函数数据库保存用于使所述第一运算装置执行所述所有处理中的各个处理的第一处理执行函数组和用于使所述第二运算装置执行所述一部分处理的第二处理执行函数组,所述数据转送函数数据库针对所述第二处理执行函数组所包含的各个处理执行函数而保存输入数据转送函数和输出数据转送函数,所述输入数据转送函数为了使所述第二运算装置执行该处理执行函数而从所述第一运算装置向所述第二运算装置转送该处理执行函数的输入数据,所述输出数据转送函数将所述第二运算装置执行该处理执行函数而得到的结果转送至所述第一运算装置,所述图形用户界面部在初始阶段显示为通过所述第一运算装置执行所述数据处理所包含的所有处理,所述程序生成部在初始阶段从所述处理执行函数数据库优先读取所述第一处理执行函数组,来生成所述程序,所述图形用户界面部能够在所述显示装置显示在与所述一部分处理对应的结点能够通过所述第一运算装置或所述第二运算装置执行所述一部分处理,且能够利用所述输入装置来选择通过所述第一运算装置和所述第二运算装置中的哪个运算装置来执行所述一部分处理,在关于某个结点而利用所述输入装置所选择的运算装置为所述第二运算装置时,所述程序生成部从所述处理执行函数数据库且从所述第二处理执行函数组读取对应的处理执行函数,且从所述数据转送函数数据库读取对应的输入数据转送函数和输出数据转送函数,来更新所述程序。4.根据权利要求3所述的程序开发支援装置,其特征在于,所述输入装置为鼠标,在利用所述鼠标的光标选择的结点为与所述一部分处理对应的结点时,所述图形用户界面部在所述显示装置中将能够通过所述第一运算装置或所述第二运算装置执行所述一部分处理的情况显示为上下文菜单,且能够利用所述鼠标的光标来选择使所述第一运算装置和所述第二运算装置中的哪个运算装置来执行所述一部分处理。5.根据权利要求3所述的程序开发支援装置,其特征在于,所述输入装置为鼠标,在利用所述鼠标选择的结点为与所述一部分处理对应的结点时,所述图形用户界面部将用于执行与所述结点对应的处理的运算装置从所述第一运算装置切换至所述第二运算装置,在再次选择该结点时,将用于执行与所述结点对应的处理的运算装置从所述第一运算装置切换至所述第二运算装置。6.根据权利要求5所述的程序开发支援装置,其特征在于,通过所述鼠标的双击来选择结点。7.根据权利要求5所述的程序开发支援装置,其特征在于,所述一部分处理中的再一部分处理还能够由其它运算装置执行,在利用所述鼠标选择的结点为与所述一部分处理所包括的所述再一部分处理对应的结点时,所述图形用户界面部在所述第一运算装置、所述第二运算装置和所述其它运算装置之间,按照规定的顺序依次切换用于执行与所述结点对应的处理的运算装置。8.根据权利要求1所述的程序开发支援装置,其特征在于,具有第一功能和第二功能,在所述第一功能中,在所述第一处理执行函数的输入数据的格式与在所述第一处理执行函数的紧前由和所述第一运算装置不同的运算装置执行的处理执行函数的输出数据的格式不同时,所述第一数据转送函数从所述不同的运算装置转送所述输入数据,并且将所述输出数据的格式转换为所述输入数据的格式,在所述第二功能中,在所述第二处理执行函数的输入数据的格式与在所述第二处理执行函数的紧前由和所述第二运算装置不同的运算装置执行的处理执行函数的输出数据的格式不同时,所述第二数据转送函数从所述不同的运算装置转送所述输入数据,并且将所述输出数据的格式转换为所述输入数据的格式。9.根据权利要求8所述的程序开发支援装置,其特征在于,所述格式根据是高字节序还是低字节序、是定点数还是浮点数这样的位精度来规定。10.根据权利要求1所述的程序开发支援装置,其特征在于,具有第一功能和第二功能,在所述第一功能中,在所述第一处理执行函数的输入数据的数据数组与在所述第一处理执行函数的紧前由和所述第一运算装置不同的运算装置执行的处理执行函数的输出数据的数据数组不同时,所述第一数据转送函数从所述不同的运算装置转送所述输入数据,并且将所述输出数据的数据数组转换为所述输入数据的数据数组,在所述第二功能中,在所述第二处理执行函数的输入数据的数据数组与在所述第二处理执行函数的紧前由和所述第二运算装置不同的运算装置执行的处理执行函数的输出数据的数据数组不同时,所述第二数据转送函数从所述不同的运算装置转送所述输入数据,并且将所述输出数据的...

【专利技术属性】
技术研发人员:小林悠记
申请(专利权)人:瑞萨电子株式会社
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1