该研讨会为研究人员和实践者提供了一个稳定的论坛,以应对现代并行平台上软件开发生命周期的紧迫挑战。现代并行平台上并行应用程序的复杂性增加(例如多核/多核、分布式或混合)需要对开发过程有更深入的了解,并且需要使用先进的方法和技术来支持开发人员创建并行应用程序或并行化和重新设计顺序遗留应用程序。我们的目标是提高并行软件开发不同阶段的技术水平,包括软件工程方面,如需求工程和软件规范;设计与实施;程序分析、分析和调优;测试和调试。
研讨会的目的是提供一个激动人心的环境,在这个环境中,SPLASH社区成员以及软件和语言研究人员可以讨论与并行软件工程相关的主题。研讨会的目的是发起合作,重点解决并行编程领域正在进行的研究所带来的挑战。通过问答环节,主持人有机会获得其他领域专家的反馈和意见,并讨论当前研究中的障碍和有希望的方法。作者和与会者都可以发现解决与并行编程相关的软件工程问题的新思路和方向。
文件征集
感兴趣的具体主题包括但不限于:
- 并行软件开发的过程模型
- 并行软件的需求工程
- 并行程序的设计和构建
- 并行设计模式
- 并行程序的结构和应用模式
- 并行软件体系结构
- 并行软件的建模技术
- 并行编程模型和范例
- 剖析和程序分析
- 动态和静态分析
- 并行的重构和再工程
- 性能调整和自动调整
- 高效节能的并行计算
- 并行应用程序的测试和调试
- 并行软件开发的工具和环境
- 案例研究和经验报告
研讨会欢迎以下两种类型的提交:
- 关于当前研究的原始、未发表的常规论文(最多10页)
- 短文(最多4页,无参考文献)包括:
- 行业和实践经验
- 工具演示/演示
- 未经全面/广泛评估的早期成果和新颖想法
- 采用非常规方法或疯狂想法进行初步和探索性工作
特别是,我们鼓励开展早期工作,将工具文件归类为关于并行系统的短文,明确针对2016年SEPS研讨会场地的交互。
论文提交:提交给2016年SEPS的论文不得在其他地方发表或同时提交。被接受的论文将作为正式论文在ACM数字图书馆出版。投稿应通过EasyChair以PDF格式以电子方式提交。作者必须遵循ACM SIGPLAN Conference Foramt,10pt字体,使用字体系列Times New Roman和数字引用样式,并使用适当的SIGPLAN模板。有关更多信息,请查看SPLASH事件的格式说明:
https://2016.splashcon.org/track/slash-2016-oopsla#说明-供作者使用
所有纸质提交必须使用提交网站完成:
https://seps16.hotcrp.com
出版:所有被接受的论文将在ACM数字图书馆作为正式会议记录出版。
注册:被接受论文的作者应注册并在研讨会上提交论文。
自2004年Mattson、Sanders和Massingill出版了Patterns for Parallel Programming以来,并行计算领域发生了重大变化。不仅需要能够利用超越专家领域的并发性和并行性,这大大增加了开发并行程序的软件工程师的数量,而且新的硬件平台(如GPGPU)已经广泛可用。演讲将讨论并行编程模式语言的更新版本。更新后的版本保持了原始模式语言的目标,即向非专家传达并行程序设计的专业知识,但已进行了更新和扩展,以反映硬件的最新进展。它还反映了作者使用模式教授并行编程的经验,以及与领域科学家合作开发用于计算化学的大型并行软件系统的经验。
本教程介绍基于任务的编程模型,如OmpS和OpenMP 4.0模型。OmpSs是巴塞罗那超级计算中心(BSC)开发的一种编程模型。与OpenMP一样,它基于编译器指令。它是BSC开发OpenMP任务、支持相关性、优先级、任务减少的基础平台,还包括对异构设备的支持。
我们将介绍与对称多处理器(SMP)内核基于任务的并行相关的OmpSs基本概念,然后快速转向对异构设备的支持。OmpSs允许利用现有的OpenCL和CUDA内核,而无需处理与设备之间的数据拷贝。OmpSs运行时根据任务相关注释自动触发数据副本。此外,我们将讨论支持整个任务模型的后端引擎:运行时系统。例如,针对OmpS和OpenMP的Nanos++运行时系统,以及针对OpenMP的GOMP、IOMP、MTSP运行时系统。它们使用基于数据依赖性的同步提供支持任务并行性的服务,并将任务映射到线程以运行它们。
MTSP(多核任务调度平台)是UNICAMP(巴西)为OpenMP 4.0从头开始开发的轻量级运行时系统。它侧重于以尽可能少的开销支持OpenMP 4.0任务,从而在智能手机、平板电脑等嵌入式多核系统上实现基于任务的编程。MTSP提供分层API来管理任务的创建、同步和退役,这简化了将硬件加速器集成到其流水线中的过程,从而降低了任务管理开销并提高了应用程序的可扩展性。
除了本教程中的演示外,还将演示一些简化编程和调试任务化应用程序的工具。为了充分利用本教程,强烈建议访问https://pm.bsc.es/ompss-downloads网站,并在学习本教程之前下载OmpSs虚拟机。虚拟机包含已经预装的OmpSs环境,这有助于参与者快速实验基于任务的编程。
为了持续改进由紧密耦合的异构组件组成的未来计算系统的性能,使用先进的方法和技术支持开发人员创建并行应用程序或并行化和重新设计顺序遗留应用程序至关重要。并行系统的编程模式是连接程序员和底层系统的重要接口。为了从使用并行模式编写的程序中生成高性能代码,诸如翻译器或编译器之类的工具是它的关键促成因素。并行软件需要运行时库或运行时支持,我们将在2016年SEPS研讨会的教程课程中讨论基于任务的编程。在本次专题讨论会上,我们将讨论这些跨层技术,这些技术将在不久的将来发展成为异构计算系统。
15:40-15:45小组组织者介绍小组
15:45-16:45位置演讲来自:
- 克莱门斯·格雷克。“没有异构编程的异构计算?!”
- 木村庆二。“用于异构计算的OSCAR编译器”。
- 佐藤裕纪元。“从CPU到FPGA加速器,实现深度分层内存的全自动性能调整系统”。
16:45-17:20互动讨论