首页> 外文期刊>Future generation computer systems >The NAS Parallel Benchmarks for evaluating C++ parallel programming frameworks on shared-memory architectures
【24h】

The NAS Parallel Benchmarks for evaluating C++ parallel programming frameworks on shared-memory architectures

机译:评估共享内存架构上的C ++并行编程框架的NAS并行基准

获取原文
获取原文并翻译 | 示例

摘要

The NAS Parallel Benchmarks (NPB), originally implemented mostly in Fortran, is a consolidated suite containing several benchmarks extracted from Computational Fluid Dynamics (CFD) models. The benchmark suite has important characteristics such as intensive memory communications, complex data dependencies, different memory access patterns, and hardware components/sub-systems overload. Parallel programming APIs, libraries, and frameworks that are written in C++ as well as new optimizations and parallel processing techniques can benefit if NPB is made fully available in this programming language. In this paper we present NPB-CPP, a fully C++ translated version of NPB consisting of all the NPB kernels and pseudo-applications developed using OpenMP, Intel TBB, and FastFlow parallel frameworks for multicores. The design of NPB-CPP leverages the Structured Parallel Programming methodology (essentially based on parallel design patterns). We show the structure of each benchmark application in terms of composition of few patterns (notably Map and MapReduce constructs) provided by the selected C++ frameworks. The experimental evaluation shows the accuracy of NPB-CPP with respect to the original NPB source code. Furthermore, we carefully evaluate the parallel performance on three multi-core systems (Intel, IBM Power, and AMD) with different C++ compilers (gcc, icc, and clang) by discussing the performance differences in order to give to the researchers useful insights to choose the best parallel programming framework for a given type of problem.
机译:NAS并行基准(NPB)最初在Fortran中实现的是一个综合套件,其中包含从计算流体动力学(CFD)模型中提取的多个基准。基准套件具有重要特性,如密集内存通信,复杂的数据依赖性,不同的内存访问模式和硬件组件/子系统过载。在C ++中写入的并行编程API,库和框架以及新的优化和并行处理技术可以在此编程语言中完全提供NPB,因此可以受益。在本文中,我们呈现NPB-CPP,一个完全C ++翻译版的NPB版本,包括使用OpenMP,Intel TBB和FastFlow Parture Frameworks for Multicore开发的所有NPB内核和伪应用程序。 NPB-CPP的设计利用了结构化的并联编程方法(基本上基于并行设计模式)。我们在所选择的C ++框架提供的少数图案(尤值地图和MapReduce构造)的组成方面,显示每个基准应用的结构。实验评估显示了NPB-CPP关于原始NPB源代码的准确性。此外,我们通过讨论性能差异来仔细评估三个多核系统(英特尔,IBM电源和AMD)的并行性能,以便对研究人员提供有用的见解来提供不同的C ++编译器(GCC,ICC和CLANG)为给定类型的问题选择最佳并行编程框架。

著录项

  • 来源
    《Future generation computer systems》 |2021年第12期|743-757|共15页
  • 作者单位

    School of Technology. Pontifical Catholic University of Rio Grande do Sul (PUCRS) Porto Alegre 90619-900 Brazil;

    School of Technology. Pontifical Catholic University of Rio Grande do Sul (PUCRS) Porto Alegre 90619-900 Brazil Laboratory of Advanced Research on Cloud Computing (LARCC) Tres de Maio Faculty (SETREM) Tres de Maio Brazil;

    Department of Computer Science University of Pisa Pisa 1-56127 Italy;

    School of Technology. Pontifical Catholic University of Rio Grande do Sul (PUCRS) Porto Alegre 90619-900 Brazil;

    Department of Computer Science University of Pisa Pisa 1-56127 Italy;

    Department of Computer Science University of Pisa Pisa 1-56127 Italy;

    School of Technology. Pontifical Catholic University of Rio Grande do Sul (PUCRS) Porto Alegre 90619-900 Brazil;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    NAS Parallel Benchmarks; Parallel programming; Multicore architectures; Performance evaluation;

    机译:NAS并联基准;并行编程;多核架构;绩效评估;

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号