一月下旬,在旧金山塞拉诺酒店,我主持了2012年1月OpenMP面对面会议,与会的有24名OpenMP领域的专家。援引其中一位专家的话说,这是我们在很长一段时间以来最富有成效的会议之一。在这次会议上,我们通过若干小组的讨论,增加推动OpenMP4.0实现的紧迫性。这些小组包括:类同关系(affinity)、任务组(taskgroups)、加速器(accelerators)、高级向量语言(high level vector language)、整合Fortran2003和错误模型(error model)。目前,每个小组都有具体的负责人,“类同关系”小组:克里斯蒂安·特尔波文,“任务”小组:弗雷德里克·马赛欧力,“加速器”小组:埃里克·斯托特和 詹姆斯·拜尔,“整合Fortran2003”小组:凯尔文·李,“错误模型”小组:迈克尔·克莱姆。
对于每个小组来说,时间都很紧迫,因为我们需要在2012年11月这个预定日期之前完成某些特性,这样能在2012年超级计算会议(SC 12)期间提供相应实现来收集公开意见。因此,无论在该会议期间还是每周的面对面远程电话会议里,我们都需要并做出很大的进展。我们已经有一些不小的特性在规范草案中批准了,也批准了用户自定义的归约(reduction)和增加交换的原子指令。这些工作项目中的一些已经在去年实现OpenMP3.1的时候已经开始,但由于这样或那样的原因,一直都没有完成。事实上,巴士/火车模型对于OpenMP同样适用,其中每个小组将继续实现那些工作项目,当一个对应于新版本的项目要发布时,当前已完成的那些工作项目将被收纳进去。OpenMP将可能会发出一份直接新闻稿,以总结了各小组组的技术进展。
在会上,我也做了一个关于OpenMP未来的报告,讲述了临时规范草稿的要求,类似于ISO技术报告流程。这提供了一种方式来展示OpenMP长期致力于的发展方向,同时给制定者提供一个能够尽早实现的机会。此外,我们讨论了能够保持对OpenMP扩展的各种选项,这将在不牺牲核心用户的利益的情况下,促进OpenMP的发展。更重要的是,我们强烈认为未来OpenMP将非常适合作为一门并行的高级语言。首先,它发展地很快并将成为国际标准,而且更加普及,正被用于三种通用目的语言,也能够被任何单一厂商的专有语言所支持。由于专有语言的原设计者需要满足该平台上特定的目标用户,因此,它是新想法的最佳实验场,同时,变化也很迅速。
但是,高度适应性也经常为人们所需要,它可以使语言转移到更加开放的环境,由许多厂商共同支持,同时,在不牺牲特定语言许多优势的前提下,有一个开放论坛来讨论每个厂商的各种需求。我们的观点是:OpenMP可以扮演这个角色。事实上,它可以满足那些基本的需求,尽管从辩证的角度看要支持的领域和要解决的问题都在迅速变化着。但是,我们清醒地认识到,倘若OpenMP要填补这个角色,将需要作出一些改变。一个关键的变化是广泛的服务目标的改变。OpenMP不仅仅只是服务于高性能计算的语言,它能够适用于其他领域,任何来自于:
* 图形与虚拟化
* 嵌入式与实时系统
* 交际与网络
* 通用数据分析
* 自动化与机器人技术
* 系统和开发工具
* 交易和金融分析
* 模拟
* 军用项目
* 数据库与中间件
* 医药与生物技术
* 语音与声音处理
我们将需要告知许多需要高级并行语言支持的潜在用户这一消息,在未来的几年里,让我们拭目以待。