【2010年IDF报道】由英特尔主办的全球IT业界高水平的技术论坛活动——2010英特尔信息技术峰会(Intel Developer Forum, IDF),将于4月13至14日在北京国家会议中心举行。这是IDF连续第4年在中国首发。本届IDF以“智领先机,共创明天”为主题,旨在抓住智能计算和个性化互联网时代机遇,揭示产业发展脉动,携手合作伙伴引领创新,抢占复苏增长之先机。今年的IDF将展出哪些新产品和新技术呢?这些新产品和新技术又将带来哪些新应用呢?IT168推出了大型系列报道“2010年IDF八大技术猜想”,从不同角度猜测今年IDF即将展出的新产品和新技术。今天发布的是第八篇,将向大家介绍英特尔在嵌入式开发领域解决方案的两大利器。
CT技术为多线程开发解忧
CT是一种新型通用数据并行语言。它帮助程序员彻底摆脱线程、同步、共享等等困扰,轻松编写高效率的并行程序、领先进入多核时代。英特尔的CT技术提供了一种通用的数据并行编程解决方案,特别是摆脱对低级别的并行机制或应用程序开发的硬件基础架构的依赖。对于那些数据密集型的数学计算、数字内容创建、财务分析、能源、数据挖掘、科学和工程的应用程序是一个理想选择,如在医疗成像领域等。CT技术集成、并补充其他英特尔开发商和并行编程工具。今天用英特尔的CT技术编写的应用将自动的缩放,以支持未来的多核和多核处理器,从而保护您在开发方面的投资。
英特尔 Ct 技术也是一款一般化的数据并行编程解决方案,使得应用开发人员不必总是依赖特定的硬件体系架构。通过利用 Ct 类别和操作人员在较高级别实施数据密集型并行算法,编程人员能够充分利用 Ct 动态运行期间(生成多线程和向量化代码)的优化功率。
开发人员都很清楚,多线程的编写十分复杂,而且是最头疼的一件事,而英特尔一直在这方面努力,提高多线程的执行效率并且降低编写难度。对于万亿级应用程序的编写,英特尔提出了Ct,这是一种先进的数据并行编程环境,是将C/C++语言进行扩展,加入了众多底层的函数库,以便最优化当前及未来多核平台上的几个应用程序的可编程性及性能。Ct语言将大幅降低编程人员的工作量,其可以在物理模拟、图像处理以及是视频处理等多方面发挥作用。
另一方面英特尔还推出优化的工具,Parallel Studio可以支持多线程集成环境,这两种开发环境实际上都是传统并行,在此之上Intel的研发部门在中国有一个重要工作就是在开发新的编程模式,怎么样可以快速的利用它,被称作CT Concuurent。同时除了Intel自己花费大量的人力物理做,也收购了一些公司,像CilkArts,把这些力量整合起来到多核上的开发,除此之外Intel还有视觉计算部门,通过社区和发布的杂志跟大家分享。
针对高性能计算这个领域来说,英特尔有一个很好的解决方案,就是英特尔的工具包,包括英特尔C++,还有英特尔数学函数库,以及英特尔跟踪器和采集器。这个工具包也是支持英特尔Windows的应用,这个应用可以扩展到成千上万的处理器上面。针对英特尔Atom处理器软件工具我们有自己的库,还有Debuggers的调试工具,并且支持了多种的操作系统,比如像Windows,Linux等等。并且一年前开发了英特尔并行开发套件,这个套件是针对Windows上面的通用应用,而且去年有很多的用户使用这个套件来进行软件的优化和并行化,还从一些客户那里了解到了他们使用并行开发套件的体验。
英特尔的CT技术为开发人员提供几大主要优势
向前扩展:CT技术可以让单一来源的应用程序始终运行在多核(multi-core)和众核(many-core)处理器上,这些处理器可以采用不同架构、指令集,缓存架构,而无需开发人员一遍又一遍重写方案。最大的好处就是只需要编写和调试一次代码就可以。
易用性:CT技术是建立在大家都比较熟悉C + +语言,并不需要开发人员修改、更换标准的编译器,或学习新的编程语言。它提供了一种简单,易于使用的便携式数据并行编程API,使得代码更简单,更易于维护。
高级别和硬件独立:减少低层次的并行编程工作,同时提高了高层次的API的便携性和安全性,以抽象低级别的数据并行机制。同时面向SIMD和线程平行机制。
安全: CT技术防止parallel并行编程错误,诸如数据流和设计时的死锁现象。针对这些问题,通过按照CT技术开发人员指定的人员,以可组合的、确定性的模式接近他们数学形式的问题,而不会以低级别并行计算机制的形式。CT会自动映射到高层次、运算中的确定性规范来进行有效率的实施,消除不确定性的风险。
英特尔借收购加快并行化进程
为了加快并行化进程,去年8月Intel收购行动引发了一个小高潮,相继将软件厂商Cilk Arts和RapidMind收入囊中。这两家公司都提供了用于多核处理器的并行变成工具集,这项技术也是Intel开发工作的一个兴趣点,原因显而易见。目前,Intel仍然继续提供SDK for Cilk++和RapidMind Multi-core Development Platform,但是从长期来看,芯片制造商Intel的主要兴趣还是在将这项技术集成到自己的并行变成工具集上。尤其是RapidMind技术,将被集成到Intel数据并行的高级语言Ct中。
英特尔于2009年底推出IntelCt技术的测试版(betaprogram)。IntelCt技术可自动对多核(multi-core)和众核(many-core)进行平行编码,让C和C++语言的平行程序设计使用更容易。
CT技术将推动并行化进程
串行的代码已经很陈旧而且运行的速度相当的缓慢,好比数据从一个瓶子中倒出一样,势必会遇到这种性能瓶颈,而并行化则是性能提升的关键,用英特尔软件开发产品总监仁达敬的话说:“并行化将无处不在。”很显然,在这个并行化的潮流中,英特尔的CT技术将会在其中起到很重要的推动作用。英特尔软件以他的可靠性、扩展性和保护投资将引领未来。从英特尔内部了解到,在2010年将会在并行领域做三件重大的事情:
1、扩充英特尔多线程构建模块(TBB)的并行编程模式。
对于业界来讲,适应并行开发似乎并不像用户从单核处理器转向多核和多线程的处理器硬件一样容易:因为并发和并行程序传统以来是并行计算专业人员熟悉的,大多数普通应用开发人员并不熟悉这些。而传统的并行程序设计模型无论是OpenMP还是MPI都面临一些缺陷,或者需要特定的语言扩展,或者使用复杂,从而引起开发效率的降低。
2、将这些扩充的并行编程模式以及新的功能加入到英特尔并行开发套件产品。
3、将英特尔并行开发套件中创新的功能引入到传统的基于Windows/Linux/Mac OS X平台的英特尔高性能软件中。
IDF预览:在本届IDF中,CT技术是一个相当重要的部分,并有相关课程演讲,通过演讲课程您将了解到以下信息:1、如何使用 Ct API 开发高度并行化的可扩展程序 2、如何编写 Ct 代码以实现最优性能3、如何在编译和运行期间调试 Ct 应用和诊断问题。敬请关注。