用人工智能自动优化程序代码.doc

上传人:scccc 文档编号:11986007 上传时间:2021-11-30 格式:DOC 页数:4 大小:15KB
返回 下载 相关 举报
用人工智能自动优化程序代码.doc_第1页
第1页 / 共4页
用人工智能自动优化程序代码.doc_第2页
第2页 / 共4页
用人工智能自动优化程序代码.doc_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《用人工智能自动优化程序代码.doc》由会员分享,可在线阅读,更多相关《用人工智能自动优化程序代码.doc(4页珍藏版)》请在三一文库上搜索。

1、用人工智能自动优化程序代码在为移动平台及多核芯片开发高性能软件时,人工智 能技术可以发挥独特的作用,由 IBM 、欧盟等支持进行的 MilePost 研究项目在这方面做出了大胆的探索。在软件开发过程中,程序代码的优化是一个基本的步 骤。所有的程序员都希望他们编写的程序运行得更快、占用 更少的资源。 然而, 当今 CPU 的架构非常复杂, 进行处理器 级的代码优化不仅复杂而且费时,所以一般的程序员根本做 不了这项工作,必须依靠优化编译器还完成。经过这些编译 器优化后的机器码简单而且高效,只有极少数的汇编语言大 师可以与之媲美, 因此,也没有必要在进行进一步的优化了。但是,这里有个前提就是人们已经

2、为该 CPU 架构开发出 了一个非常好的优化编译器。一般而言,为当今主流的台式 CPU 找一个这样的编译器并不难, 但是面对移动设备时就不 是那么回事了。在嵌入式系统快速发展的今天,处理器架构 变化太快了,编译器的设计和开发者们根本就跟不上这种变 化。一个有 IBM 研究院和欧盟支持的研究项目 MilePost 找 到了解决这一问题的办法。该项目的研究人员开发出了一个新的、实验性的 GCC 编译器,采用人工智能技术来提高代 码的质量。这个项目的最终目标是让编译器的开发者在为某 个指定的平台开发编译器时能够更容易,而解决办法则是让 编译器能根据平台的不同自动对代码进行优化。这是一个听 起来有些不

3、可思议但很有吸引力的想法,也许会成为编译器 的发展方向。优化是一个学习的过程就目前研究进展来看, MilePost 不会指导程序员编写代 码,也不会提供任何关于如何编写高效算法的建议, MilePost 所做的是通过机器学习技术收集软件在性能方面的数据,然 后对机器码进行响应的调整。这是一个非常复杂的过程(如果你感兴趣,已经有很有 学者发表了众多与此相关的论文) ,不过,从本质上说,其 工作原理是通过分析源代码找出一些可能会用于优化的地 方,比如涉及很多参数的子程序、多层嵌套的循环语句以及 频繁使用的数学公式等。 在 MilePost 对某个程序中所有可以 优化的语句进行统计后,它再根据统计学

4、原理决定哪些优化 可以产生最佳结果,据此对编译后的代码进行针对性的调 整。这其实与这年来编译器的设计和研发人员在开发编译 器时所做的工作基本一样,区别只是研发人员在做这件事情 的时候更主观,很多时候,人们是在猜测那种优化方法可能 更好。而 MilePost 能够基于统计数据进行上述决策,这些统 计数据是代码在某种特定环境中运行时取得的。 根据 IBM 进 行的测试,与传统的编译器相比, MilePost 编译后的代码性 能能提高 18%左右。并不只是速度问题有人也许会问,现如今 CPU 的运算速度越来越快, 比如, 有研究显示,大多数使用者连 PC 处理器的一半处理能力都 没有用到,在这种情况

5、下,还有必要进行这么低级别的代码 优化?对台式 CPU 来说,情况也许的确是这样, 但是对移动 设备来说这种机器码级别的代码优化却是很有必要的。特别 是当某个设备安装的是低能耗的CPU ,而且其计算资源很有限的情况下,此时的代码优化就不是可做可不做,而是必须 做的工作。为移动设备开发软件的程序员常常要一次面对几种不 同的平台,保证在每个平台运行的程序性能大体一致需要大 量的代码优化工作。如果没有成熟的代码优化编译器,程序 员只好人工进行代码的优化。这种代码优化工作有时可能需 要几个月,既增加了开发成本同时也延误了产品上市时间。而一个具有机器学习能力的编译器可以自动根据每个平台 的特点进行代码的

6、优化,从而把程序员从复杂而且耗时的代 码优化工作中解脱出来。从长远来看,机器学习技术还能给编译器带来其他帮 助。一个可能的应用领域就是是对在多核处理器上运行的代 码进行优化。并行编程是当今软件开发领域最大的挑战之 一,如果编译器通过机器学习能设法让代码自动并行运行, 这对于整个软件领域将是一个巨大的贡献,同时对芯片制造 商来说也是一个巨大的利好消息,因为可以解除它们设计多 核芯片时的后顾之忧。到目前为止, MilePost 还只算是一个实验性的项目,感 兴趣的人们可以从该项目的网站上下载源代码,编译它,自 己进行试验,但还不能指望马上就可以在软件开发过程中真 正使用。不过,无论如何, MilePost 反应了下一代编译技术 上的最新进展。对于那些关注软件效率,特别是为手持设备 或其他嵌入式系统开发软件的人们来说,一定是值得关注的 好消息。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1