呵呵,别被今天的名字骗了。和之前相比,今天要写的东西偏重于技术介绍。其中大部分都是Dr.Truchard在主题演讲中的要点,以及我后来结合这些内容做的一些整理和引申。之所以起这个名字,是因为这是他在介绍LabVIEW的新特性之后,重申的一句话:享受旅程。我一贯信奉此说,所以拿来作题,虽然他说的是一个技术派对于技术的追求,而我说的是一个非技术派对于生活的看法,但是意义相通,也不算和本文毫无相关。
LabVIEW的新动力:多核运算的天机和FPGA的魔力 在NI WEEK2007的主题演讲台上,不断有各种最新应用震撼眼球。然而你可以很容易抓住两个主题:多核运算和FPGA,成为推动LabVIEW风行下一个20年的双引擎。 当前主流的多核运算技术已经给传统编程语言制造了太多的挑战:优先级颠倒、死锁、线程同步、处理器缓存效应、竞态条件以及多个CPU 可测量性等等。微软公司声称,并行的编程语言将要等到10年之后才能真正成熟。对此,NI创始人、总裁兼首席执行官Dr James Truchard颇为嘲讽的回应道,“10年之后?NI早在1986年就已经发明了这种图形化的并行的数据流语言LabVIEW,现在全世界的工程师都在用它。根据我们的经验,一种全新的编程语言至少也需要15年才能真正让人们接受。” 十年来,NI一直期待并早早准备着今天出现的多核盛世。对于NI来说,从单核到双核,到四核,到八核……这种多核运算的潮流是公司研发团队早已预见的一场技术革命:在NI看来,从3GHz到4GHz是一个无法逾越的处理器限速,而人们要获得更快的速度、更复杂的系统设计,只有用多核的方式来实现。恰恰,LabVIEW从诞生之日起,就天然的具有并行处理的能力,多核时代才能够把LabVIEW的这一特点发挥到极致,并自然地渗透到更广泛、更尖端的应用中去:比如,全世界最大的正负粒子对撞机(LEP)的制造者——日内瓦欧洲原子核研究中心(CERN),便是NI频频在会上提到的标杆用户,他们利用LabVIEW进行虚拟仪器的控制和实时监测,同时也采用NI的PXI系统作为自动测试测量的硬件平台(据称,CERN的使命就是利用LEP来破解物质质量的形成之谜)。“利用LabVIEW 8.5,工程师只要通过直观的图形化编程,就可以在PC上进行数据流、控制、分析和信号处理等工作,很轻松的把多核带来的性能提升运用到极致;而如果他们用的还是传统的编程语言,他们就要费心考虑如何修改自己的软件,以最大化体现出多核的意义。”Dr.Truchard简单括了LabVIEW对于多核技术的意义。 同样,本次的NI WEEK上,FPGA也成为演讲者和研讨会上提及频率最高的词汇。FPGA俨然成为LabVIEW的另一希望所在。利用LabVIEW FPGA模块,工程师不用掌握复杂的硬件描述语言和硬件设计知识,便可在Windows操作系统上通过图形自定义FPGA逻辑代码并下载到FPGA硬件目标,轻松创建自定义硬件。如同NI著名的仪器驱动共享库一样,NI希望在自己的网站上建立第二个热门的IP库——“LabVIEW FPGA共享库”(ni.com/ipnet),其中已经有60多个IP核和应用实例,分别涵盖了控制、信号触发、数据采集、仿真、数字通讯协议、运算和信号处理六大领域。Dr.Truchard在演讲时也不忘号召大家来此交流和分享。已经有热心网友给我们发来了这样的文件,具体指导大家如何用LabVIEW FPGA进行设计. 除了NI本身的研发团队,在NI WEEK2007上我们也看到这家公司的借力策略。深谙工程师心理和喜好的NI,正在努力最大可能的降低工程师进行数学运算的工作量。为此,他们和一家叫做SolidWorks的公司合作,将大量数学公式和运算过程“打包”并“封存”在LabVIEW里面,试图帮助工程师摆脱繁琐冗长的数学公式和运算,只要集中注意力进行自己的系统设计,一边建模,一边测试,不仅大大降低了产品开发的难度、减少了测试的时间,也提高产品上市的时间。“我们和300家制造公司做了访谈。其中90%的公司声称,他们在下一年将不得不面临更加复杂的设计要求。而这正是LabVIEW得到普及的最好时机。”一位NI的产品经理在做激光切割机设计演示的时候说,“通过和Solidworks的合作,我们已经为这种需求做好了准备。” NI的另一位创始人,LabVIEW之父Jeff Kodosky在此次盛会上说,LabVIEW8.5包含了新的Statechart Module(状态机模块)、更先进的 FPGA 模块以及在多核和实时编程上的特别改进,预示了LabVIEW未来30年的发展方向。当然,“异步的多核处理功能”、“直接连接到引脚而不是物理I/O的革命性测试测量方法”、以及未来将“时间”概念也整合到LabVIEW语言中去的想法,现在还仅仅是梦想而已,但是,正如Dr.Truchard所说,NI一直在享受着这种感觉:不管远近,我们都走在面向心仪之目标的路上(enjoy the journey)。
|