CPU应用于人工智能相关程序时的执行方法技术

技术编号:33328261 阅读:11 留言:0更新日期:2022-05-08 09:07
一种CPU应用于人工智能相关程序时的执行方法,包括下列步骤:于电子设备上执行TensorFlow时,依据程序内容调用对应的人工智能模型;判断并取出人工智能模型于运算中使用的一或多个稀疏矩阵;对一或多个稀疏矩阵进行矩阵简化程序;对人工智能模型所采用的指令集进行指令转换;人工智能模型通过转换后的指令集对加权值中央处理单元进行指令发布;及,加权值中央处理单元接收指令后,依据权重值平均分配由多个执行线程来分别执行人工智能模型所指示的多个程序。所指示的多个程序。所指示的多个程序。

【技术实现步骤摘要】
CPU应用于人工智能相关程序时的执行方法


[0001]本专利技术涉及中央处理单元,尤其涉及中央处理单元在执行与人工智能相关程序时的执行方法。

技术介绍

[0002]近年来人工智能的技术蓬勃发展,各大企业纷纷投入人工智能的相关产品的研发动作。
[0003]一般来说,软件工程师经常使用谷歌公司(Google)所开发的TensorFlow来开发人工智能的相关程序。具体地,TensorFlow是一种应用于机器学习的开源软件库,并且TensorFlow提供了多种人工智能相关模型,有助于软件工程师直接用来进行人工智能的开发。
[0004]然而,于现有技术中一般并不会对所述人工智能相关模型用来进行运算的矩阵进行优化,因此这些模型在进行运算时所使用的计算参数较多。也因为这样,目前若要执行人工智能的相关运算,通常需要使用较高阶的硬件才能完成。例如,需要使用高阶的中央处理单元(Central Processing Unit,CPU),或是需要使用特定的图像处理单元(Graphics Processing Unit,GPU)。然而,上述硬件的使用实大幅提高了人工智能的开发、使用成本,并且也造成了硬件散热不易的问题。
[0005]另外,有鉴于目前GPU的强大计算能力,CPU在执行上并不会也不需要对各项程序进行最佳化排序。具体地,CPU通常仅会单纯地按照顺序来执行所接收的多个指令,因此常会发生CPU的一个执行线程(Thread)无法算完一个程序,而需要交给下一个执行线程继续计算的现象。当于上述现象发生时,CPU即增加了执行SWAP的时间成本,导致整体速度变慢,而需要更换更高阶的CPU,或是必须额外设置GPU。于此情况下,无疑是阻挡了利用低阶的硬件,例如X86架构的工业电脑(Inidustry Personal Computer,IPC)来开发、使用人工智能的可能性,实相当可惜。

技术实现思路

[0006]本专利技术的主要目的,在于提供一种CPU应用于人工智能相关程序时的执行方法,系对人工智能模型在运算时采用的矩阵进行简化,同时最佳化CPU的执行时间,借此令低阶的硬件设备也可以被用于开发、使用人工智能。
[0007]为了达成上述的目的,本专利技术的执行方法运用于至少具有一加权值中央处理单元(Weighted Central Processing Unit,Weighted CPU)的一电子设备,并且包括下列步骤:
[0008]a)于该电子设备上执行TensorFlow;
[0009]b)依据程序码内容调用TensorFlow中的至少一人工智能模型;
[0010]c)判断并取出该人工智能模型于运算中使用的一或多个稀疏矩阵(Sparse Matrix);
[0011]d)对该一或多个稀疏矩阵执行一矩阵简化程序;
[0012]e)对该人工智能模型所采用的一指令集进行一指令转换程序,以产生一转换后指令集;
[0013]f)该人工智能模型通过该转换后指令集对该加权值中央处理单元进行指令发布;及
[0014]g)该加权值中央处理单元接收指令后,依据该人工智能模型所指示的多个程序的权重值,将该多个程序平均分配由其下的多个执行线程(thread)来分别执行。
[0015]如上所述,其中该步骤a)是于程序码中通过import TensorFlow的指令来执行TensorFlow。
[0016]如上所述,其中该人工智能模型至少包括一imageNet模型及一inception模型。
[0017]如上所述,其中该矩阵简化程序包括将该一或多个稀疏矩阵分解成一或多个合并矩阵(Consolidate Matrix),其中该多个程序至少包括对该一或多个合并矩阵的运算。
[0018]如上所述,其中该加权值中央处理单元为Intel架构的中央处理单元,该人工智能模型采用的该指令集为Intel架构的指令集。
[0019]如上所述,其中该加权值中央处理单元的一加权CPU时间为该多个执行线程的一加权程序时间之和,各该执行线程的该加权程序时间分别是执行对应的该程序的一CPU时间与一执行频率(Program Frequency)的乘积,该CPU时间为该执行线程的一周期时间(Cycle time)与一周期计数(Cycle count)及一停顿周期(Idle cycles)的和之乘积。
[0020]相较于现有技术,本专利技术先通过矩阵简化程序来压缩人工智能模型于运算中使用的稀疏矩阵,以令运算中的计算参数产生缩减。并且,本专利技术先借由转换后的指令对人工智能模型所指示的多个程序进行权重值的设定后,再下指令给加权值中央处理单元,借此加权值中央处理单元可以将这些程序平均分配给多个执行线程来执行,以最佳化CPU执行时间。借此,达到令低阶的硬件设备也可以被用来开发、使用人工智能的主要目的。
[0021]以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。
附图说明
[0022]图1为本专利技术的第一具体实施例的系统架构图。
[0023]图2为本专利技术的第一具体实施例的执行方法流程图。
[0024]图3为本专利技术的第一具体实施例的矩阵简化示意图。
[0025]图4为本专利技术的第一具体实施例的加权值中央处理单元的示意图。
[0026]其中,附图标记:
[0027]1…
TensorFlow;
[0028]2…
预测程序;
[0029]3…
矩阵简化程序;
[0030]31

稀疏矩阵;
[0031]32

合并矩阵;
[0032]4…
加权值中央处理单元;
[0033]41

加权CPU时间;
[0034]42

加权程序时间;
[0035]43

执行频率;
[0036]44

CPU时间;
[0037]45

周期时间;
[0038]46

周期计数;
[0039]47

停顿周期;
[0040]5…
执行线程;
[0041]S10~S24

执行步骤。
具体实施方式
[0042]下面结合附图对本专利技术的结构原理和工作原理作具体的描述:
[0043]兹就本专利技术的一较佳实施例,配合附图,详细说明如后。
[0044]本专利技术揭露了一种CPU应用于人工智能相关程序时的执行方法(下面将于说明书中简称为执行方法),所述执行方法主要可被应用在使用加权值中央处理单元(Weighted Central Processing Unit,Weighted CPU)的电子设备上。更具体地,本专利技术中所指的电子设备,主要是指采用了较低阶的CPU,并且没有将图像处理单元(Graphics Processing 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CPU应用于人工智能相关程序时的执行方法,运用于至少具有一加权值中央处理单元的一电子设备,其特征在于,包括下列步骤:a)于该电子设备上执行TensorFlow;b)依据程序代码内容调用TensorFlow中的至少一人工智能模型;c)判断并取出该人工智能模型于运算中使用的一或多个稀疏矩阵;d)对该一或多个稀疏矩阵执行一矩阵简化程序;e)对该人工智能模型所采用的一指令集进行一指令转换程序,以产生一转换后指令集;f)该人工智能模型通过该转换后指令集对该加权值中央处理单元进行指令发布;及g)该加权值中央处理单元接收指令后,依据该人工智能模型所指示的多个程序的权重值,将该多个程序平均分配由其下的多个执行线程来分别执行。2.根据权利要求1所述的CPU应用于人工智能相关程序时的执行方法,其特征在于,该步骤a)是于程序代码中通过import TensorFlow的指令来执行TensorFlow。3.根据权利要求1所述的...

【专利技术属性】
技术研发人员:曾建维江锦陵陈柏旭
申请(专利权)人:新汉股份有限公司
类型:发明
国别省市:

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

1