Pipeflow: An Efficient Task-Parallel Pipeline Programming Framework using Modern C++
流水线是一种基本的并行编程模式。主流流水线编程框架依靠数据抽象来执行流水线调度。这种设计对于以数据为中心的流水线应用是方便的,但对于只利用流水线中任务并行性的算法是低效的。因此,我们引入了一个新的任务并行流水线编程框架称为Pipeflow。Pipeflow并没有设计另一个数据抽象,而是专注于流水线调度本身,使任务并行流水线算法的实现比现有的框架更有效。我们已经在微基准测试和实际应用中评估了Pipeflow。例如,Pipeflow在采用流水线并行来加快运行时间的VLSI布局和时序分析工作负载中,分别比oneTBB快24%和10%。
2022-02-01 cs.DC
Bind: a Partitioned Global Workflow Parallel Programming Model
高性能计算因其漫长而昂贵的软件开发周期而臭名昭著。为了解决这一挑战,我们提出绑定:一个“分区的全球工作流”的C++应用程序的并行编程模型,使快速原型和敏捷的开发周期的高性能计算软件的目标异构分布式众核架构。我们提出了绑定到线性代数和MapReduce算法的应用程序,以及性能结果。
2016-06-15 cs.DC
Performance Evaluation of Parallel Message Passing and Thread Programming Model on Multicore Architectures
共享内存系统上的多核架构的当前趋势强调了并行性的需求。虽然有一些编程模型来表示并行性,线程编程模型已经成为一个标准,以支持这些系统,如OpenMP,和POSIX线程。MPI(消息传递接口)仍然是当今高性能计算中使用的主要模型,它面临着这一挑战。以前的MPI版本MPI-1没有共享内存的概念,而当前的MPI版本2 MPI-2对共享内存系统的支持有限。在这项研究中,MPI的MPI-2版本将与OpenMP进行比较,看看MPI在多核/ SMP(对称多处理器)机器上的性能如何。将在多核共享内存机器架构上比较用于线程编程模型的OpenMP和用于消息传递编程模型的MPI,以查看谁在速度和吞吐量方面具有更好的性能。用于评估评估并行编程解决方案的可扩展性的应用程序是可定制矩阵维数的矩阵乘法。大量的大规模并行计算的研究都是使用NSA Parallel Benchmark(NPB)等大规模测试标准进行测试的[1]。本文的研究将在一个小规模的并行计算环境下进行,重点是利用自行开发的测试程序对MPI和OpenMPI并行编程模型进行性能评估。
2010-12-10 cs.DC
Extended Abstract: Productive Parallel Programming with Parsl
Parsl是一个Python的并行编程库,旨在简化程序中的并行性,并在任意并行和分布式计算系统上实现这种并行性。Parsl依赖于开发人员对Python函数进行注释(包装Python或外部应用程序),以表明这些函数可以并发执行。然后,开发人员可以通过数据交换将功能链接在一起。Parsl建立一个动态依赖关系图,并在解决依赖关系时发送任务,以便在连接的资源上执行。Parsl的运行时系统允许使用不同的计算资源,从笔记本电脑到超级计算机,而无需修改Parsl程序。
2022-05-04 cs.DC
Teaching Concurrent Software Design: A Case Study Using Android
在本文中,我们将从以用户为中心的软件工程角度探讨各种并行和分布式计算主题。具体来说,在移动应用程序开发的背景下,我们研究的事件,定时器和异步活动的形式,以及相关的软件建模,架构和设计主题的交互式应用程序的基本构建块。
2017-05-08 cs.DC cs.SE
Parallel parametric linear programming solving, and application to polyhedral computations
参数线性规划是多面体计算和某些控制应用的核心,我们提出了一种基于任务的并行化方案,在大型问题上具有准线性加速比。
2019-04-12 cs.CG cs.DC
Hands-on Quantum Programming Labs for EECS Students
本文介绍了一套面向EECS学生的量子计算动手编程实验,涵盖从量子门、纠缠到量子密钥分发及Deutsch、Simon、Grover等算法,并分享教学资源与实验设计原理。
2025-08-18 cs.DC physics.ed-ph quant-ph
A task-based approach to parallel parametric linear programming solving, and application to polyhedral computations
参数线性规划是多面体计算以及某些控制应用中的核心操作.本文提出了一种基于任务的并行化方案,在大型问题上具有准线性加速比.这种类型的并行应用具有挑战性,因为多个任务可能计算同一区域.在本文中,我们提出了算法本身的并行冗余消除算法,并进行了深入的性能分析。
2020-09-29 cs.CG cs.DC
Operator-oriented programming: a new paradigm for implementing window interfaces and parallel algorithms
我们提出了一个新的编程范式,可以是有用的,特别是,用于实现窗口接口和并行算法。这个范例允许用户定义可以包含嵌套运算符的运算符。这种新的范式被称为面向运营商。这种模式的目标之一是避免许多面向对象语言中固有的对象定义的复杂性,并转向透明的算法定义。
2010-04-23 cs.DC cs.PL
Process-Oriented Parallel Programming with an Application to Data-Intensive Computing
我们介绍面向过程的编程作为一个自然的扩展面向对象的编程并行计算。它基于这样的观察:面向对象语言的每个类都可以实例化为一个进程,可以通过远程指针访问。进程指针的引入不需要语法扩展,用编程对象标识进程,并使进程能够通过执行远程方法简单地交换信息。面向过程的编程是一种高级语言,可以替代多线程、MPI和当前用于并行计算的许多其他语言、环境和工具。它只使用现有语言(如C++和Python)的最小语法扩展来实现自然的基于对象的并行性,因此有可能导致并行编程的广泛采用。我们实现了一个原型系统运行进程使用C++与MPI,并使用它来计算一个大型的三维傅立叶变换的计算机集群上建立的商品硬件组件。三维傅立叶变换是具有复杂数据访问模式的数据密集型应用程序的原型。面向进程的代码只有几百行,通过实现大规模并行和最大化硬件利用率来实现非常高的数据吞吐量。
2014-07-21 cs.DC cs.PL
A Lattice Linear Predicate Parallel Algorithm for the Dynamic Programming Problems
并行LLP(Lattice Linear Predicate)算法解决了最短路问题、稳定婚姻问题和市场出清价格问题等组合优化问题。本文给出了多个动态规划问题的并行LLP算法。特别是,我们表明,LLP算法解决了最长的子序列问题,最佳二叉搜索树问题,和背包问题。此外,该算法可以用来解决这些问题的约束版本,只要约束是格线性的。并行LLP算法只需要读写原子性,不需要更高级别的原子指令。
2021-03-10 cs.DC cs.DS
DuctTeip: An efficient programming model for distributed task based parallel computing
用于科学计算的当前高性能计算机系统通常在分布式存储器环境中组合共享存储器计算节点。从这些复杂的系统中提取高性能需要量身定制的方法。基于任务的并行编程在简化编程和利用共享存储器系统的硬件并行性方面都取得了成功。本文重点讨论如何将任务并行编程扩展到分布式内存系统。我们使用任务和数据的分层分解,以适应不同级别的硬件。我们测试所提出的编程模型在两个不同的应用程序,Cholesky分解,和浅水方程求解器。我们还比较了我们的实现与其他框架的分布式任务并行编程的性能,并表明它是有竞争力的。
2018-01-10 cs.CE cs.DC cs.PF
Proceedings of HLPP 2026: 19th International Symposium on High-Level Parallel Programming and Applications
Institut Henri Poincaré(庞加雷研究所)
HLPP 2026会议录包含十篇同行评审论文,研讨会涵盖并行编程高级方法,2026年版扩展到人工智能领域,论文经单盲评审选出,按程序顺序发表,由李冲等人编辑。
2026-07-15 cs.DC cs.PL
cfdSCOPE: A Fluid-Dynamics Proxy App for Teaching Performance Engineering
针对HPC性能工程教学中缺乏兼具简单性、透明度与优化潜力的示例代码的问题,开发了开源CFD代理应用cfdSCOPE,通过不到1,100行代码实现3D流体模拟,为学生提供理想的性能优化实践平台。
2025-03-24 cs.CE cs.DC cs.PF
Temporal Parallelisation of Dynamic Programming and Linear Quadratic Control
本文提出了最优控制问题动态规划时间并行化的一般公式。我们推导出的元素和关联运算符能够使用并行扫描来解决这些问题的对数时间复杂度,而不是线性时间复杂度。我们应用这种方法的问题,有限的状态和控制空间,线性二次跟踪控制问题,一类非线性控制问题。并行方法的计算效益通过在图形处理单元上运行的数值模拟来证明。
2022-01-24 cs.DC cs.SY eess.SY
Parallel Logic Programming: A Sequel
Università di Udine(乌迪内大学);GNCS-INdAM(意大利国家高等数学研究院-国家科学计算小组);University of Texas at Dallas(德克萨斯大学达拉斯分校);IMDEA Software Institute(IMDEA 软件研究所);Universidad Politécnica de Madrid(马德里理工大学);New Mexico State University(新墨西哥州立大学);CRACS/INESC TEC(CRACS/INESC TEC 研究所);University of Porto(波尔图大学)
多核和高度连接的架构已经变得无处不在,这带来了新的兴趣,基于语言的方法来开发并行性。逻辑程序设计自诞生以来就被认为是一种具有巨大潜力的并行性自动开发的编程范式。2001年出版的对并行逻辑编程前二十年研究的全面调查,一直是研究人员和开发人员的基本参考。这些内容在今天是相当有效的,但与此同时,该领域在随后的几年中继续快速发展。这些成就和正在进行的研究中有许多是由技术创新的快速步伐推动的,这导致了诸如超大型集群、多核处理器的广泛普及、通用图形处理单元的游戏规则改变作用以及云计算的普遍采用等进步。这已经被逻辑编程中的重大进步所证实,例如制表、更强大的静态分析和验证、应答集编程的快速增长,以及一般来说,更成熟的实现和系统。本次调查提供了自2001年以来的并行逻辑编程研究的回顾,从而提供了前一次调查的自然延续。该调查的目标是不仅作为逻辑编程系统的研究人员和开发人员的参考,而且作为对逻辑感兴趣的任何人的引人入胜的阅读,并作为逻辑编程之外的并行系统研究人员的有用资源。逻辑程序设计理论与实践(TPLP)
2022-01-24 cs.AI cs.DC cs.LO