QGTC: Accelerating Quantized Graph Neural Networks via GPU Tensor Core
近年来,量化图神经网络(QGNN)由于其高鲁棒性和低计算和存储开销而吸引了大量的研究和工业界的关注。不幸的是,QGNN的性能提升从未在现代GPU平台上实现。为此,我们提出了第一个基于Tensor Core(TC)的计算框架QGTC,以支持GPU上QGNN的任何位宽计算。提出了一种基于低比特数据表示和比特分解计算的量化低比特算术设计。我们通过结合3D堆栈位压缩、零瓦片跳跃和非零瓦片重用技术,设计了一种新颖的TC定制的CUDA内核设计,以系统地提高性能。我们采用了一种有效的带宽优化子图包装策略,以最大限度地提高CPU主机和GPU设备之间的传输效率。我们将QGTC与Pytorch集成,以获得更好的可编程性和可扩展性。大量的实验表明,与最先进的Deep Graph Library框架相比,QGTC在各种设置中平均实现了2.7倍的加速。
2021-12-30 cs.DC
Accelerating Recommender Systems using GPUs
我们描述了GPU实现的矩阵推荐算法CCD++和ALS。我们比较的处理时间和预测能力的GPU实现与现有的多核版本的相同的算法。GPU上的结果优于多核版本(最大加速比为14.8)。
2015-11-08 cs.DC cs.IR
Trash Talk: Accelerating Garbage Collection on Integrated GPUs is Worthless
将异构处理器与统一存储器集成的系统以最小的开发复杂性在这些处理器之间提供了无缝集成。这些系统将GPU等加速器与CPU内核集成在同一芯片上,以适应不同并行度的并行应用程序。这种集成在现代芯片架构上变得非常普遍,并且它给应用和系统程序员带来了利用这种集成芯片的全部潜力的负担(或机会)。在本文中,我们评估我们是否可以获得任何性能的好处,从运行垃圾回收集成GPU系统,并讨论如何实现这些收益的程序员的困难。从手持移动设备到数据中心,运行在各种平台上的垃圾收集语言的激增使得垃圾回收成为在这些平台上研究的有趣目标,并可以为其他应用程序提供有价值的经验教训。我们提出了我们的分析运行垃圾回收集成系统,并发现这些系统的当前状态并没有提供一个优势,加速这样的任务。我们建立了一个框架,使我们能够卸载垃圾回收任务的集成GPU系统从JVM中。我们确定了垃圾回收的主要阶段,并研究了将它们卸载到集成GPU的可行性。我们表明,性能优势是有限的,部分原因是集成的GPU在CPU的内存带宽的优势有限,部分原因是昂贵的原子操作。
2020-12-11 cs.DC
Accelerating convolutional neural network by exploiting sparsity on GPUs
针对CNN卷积运算耗时及特征图稀疏性导致的冗余计算与数据传输问题,提出两种GPU加速方法,分别通过减少零值计算和融合卷积池化层,在VGG-19等模型上实现最高4.3倍于cuDNN的加速。
2023-07-31 cs.DC
Accelerating the Convex Hull Computation with a Parallel GPU Algorithm
凸包是许多应用的基本几何结构,其中点组必须由凸多边形包围或表示。虽然存在有效的顺序凸包算法,并且在应用中不断使用,但是它们的计算时间通常被认为是时间敏感任务的问题,例如实时碰撞检测、聚类或用于虚拟现实的图像处理等,其中需要快速的响应时间。在这项工作中,我们提出了一个并行的基于GPU的适应heaphull,这是一个国家的最先进的CPU算法,计算的凸包首先做一个有效的过滤阶段,然后由实际的凸包计算。更具体地说,这项工作并行化的过滤阶段,使其适应GPU编程模型作为一系列的并行减少。实验结果表明,该算法显著提高了凸包计算的性能,其加速比达到了$4\times$,而$3\times \sim 4\times$的加速比则达到了$4\times$.
2022-09-25 cs.DC
Accelerating Compact Fractals with Tensor Core GPUs
这项工作提出了一个GPU线程映射方法,允许使用其紧凑的表示离散分形做快速并行模板般的计算。其背后的直觉是使用两个GPU张量核加速线程映射$λ(ω)$和$ν(ω)$,它们分别充当线程空间到数据空间和数据空间到线程空间的函数。通过组合这些映射,线程可以访问紧凑的空间并与它们的邻居交互。映射的成本是$\mathcal{O}(\log \log(n))$时间,$n$是扩展形式的分形的$n \times n$嵌入的一侧。该技术适用于属于离散分形的非重叠边界盒(NBB)类的任何分形,并且也可以扩展到三维。使用A100 GPU对Sierpinski Triangle进行的案例研究结果表明,相对于限界框方法,加速高达$\sim11\times$,内存使用减少了$234\times$。这些结果表明,所提出的紧凑方法可以让科学界解决以前不适合GPU内存的较大问题,并且运行速度甚至比限界框方法更快。
2021-10-25 cs.DC
On the Accelerating of Two-dimensional Smart Laplacian Smoothing on the GPU
本文提出了一种GPU加速实现的二维的【形】智能拉普拉斯平滑。该实现是在我们的范例的指导下开发的,用于加速基于Laplacian的网格平滑[13]。两种类型的常用数据布局,阵列的结构(AoS)和阵列的结构(SoA)被用来表示三角形网格在我们的实现。采用了两种迭代形式,对中间数据的交换有不同的选择。此外,CUDA动态并行(CDP)功能,实现智能拉普拉斯平滑嵌套并行。实验结果表明:(1)在GPU GT 640上,我们的实现可以获得高达44倍的加速比;(2)数据布局AoS总是可以获得比SoA布局更好的效率;(3)需要交换中间节点坐标的表单总是比不交换数据的表单慢;(4)使用CDP功能的实现版本比不采用CDP的版本稍快。
2015-02-02 cs.DC
Accelerating Drug Discovery in AutoDock-GPU with Tensor Cores
针对 AutoDock-GPU 评分函数中归约操作的性能瓶颈,提出利用 NVIDIA Tensor Cores 矩阵运算加速四元素向量求和归约的方法,使归约速度提升 4-7 倍,实际对接平均时间缩短 27%。
2024-10-14 cs.DC
HPAC-Offload: Accelerating HPC Applications with Portable Approximate Computing on the GPU
本文提出HPAC-Offload,一种基于pragma的可移植近似计算编程模型,在GPU上扩展OpenMP应用,实现显著加速(LULESH最高1.64倍)且质量损失极小(0.1%)。
2023-08-31 cs.DC
Accelerating JPEG Decompression on GPUs
JPEG压缩格式几十年来一直是有损图像压缩的标准,在图像质量的微小感知损失下提供高压缩率。对于GPU加速的计算机视觉和深度学习任务,例如图像分类模型的训练,由于内存带宽的限制,高效的JPEG解码至关重要。由于许多解码器实现都是基于CPU的,因此解码后的图像数据必须通过PCI-E等互连传输到GPU等加速器,这意味着吞吐率降低。因此,JPEG解码代表了这些流水线中的相当大的瓶颈。相比之下,通过使用GPU加速的解码器可以大大提高效率。在这种情况下,只需要传输压缩数据,因为解码将由加速器处理。为了设计这种基于GPU的解码器,必须在细粒度级别上并行化各个算法。然而,单个JPEG文件的并行解码代表了一项复杂的任务。在本文中,我们提出了一种有效的方法,JPEG图像解压缩的GPU上,实现了一个重要的子集的JPEG标准。所提出的算法在任意位置的比特流中的码字位置进行评估,从而使独立块的并行解压缩。我们的性能评估表明,在A100(V100)GPU上,我们的实现可以超过最先进的实现libjpeg-turbo(CPU)和nvJPEG(GPU)的一个因素高达51(34)和8.0(5.7)。此外,它在A100上使用专用硬件JPEG解码器加速的nvJPEG上实现了高达3.4的加速比。
2021-11-17 cs.DC
GPU-accelerating ImageJ Macro image processing workflows using CLIJ
本章介绍ImageJ/FIJI中GPU加速的图像处理。读者应该对ImageJ宏编程有一些预先存在的知识。变量、for循环和函数等核心概念是必不可少的。本章提供了在典型的图像处理工作流中提高性能的基本准则。我们在一个分步教程中介绍了如何将预先存在的ImageJ宏转换为GPU加速的宏。
2020-08-26 cs.DC cs.MS q-bio.QM
Accelerating Matrix Multiplication: A Performance Comparison Between Multi-Core CPU and GPU
本文在消费级异构平台上比较顺序 C++、OpenMP 多核 CPU 与带共享内存优化的 CUDA GPU 矩阵乘法,证明 GPU 在大矩阵上可获得最高约593倍加速。
2025-07-26 cs.DC
Accelerating Maximal Biclique Enumeration on GPUs
针对极大双团枚举在大规模图上计算效率低的问题,提出基于GPU优化的cuMBE算法,通过紧凑数组、混合并行、细粒度优化与工作窃取机制实现显著加速。
2025-05-22 cs.DC
Combining GPU and CPU for accelerating evolutionary computing workloads
本文提出一种依据基准结果动态分配 CPU 与 GPU 模拟任务的混合方案,并通过多类物理模拟模型评估其在进化计算工作负载中的加速潜力。
2025-02-16 cs.DC
Lightning: Scaling the GPU Programming Model Beyond a Single GPU
GPU编程模型主要针对运行一个GPU的应用程序的开发。然而,这将GPU代码的可扩展性限制在单个GPU在计算能力和内存容量方面的能力。为了进一步扩展GPU应用程序,通常需要大量的工程工作:工作和数据必须手动分配到多个GPU上,可能在多个节点上,数据必须手动从GPU内存溢出到更高级别的内存。我们介绍Lightning:一个遵循常见GPU编程范式的框架,但可以轻松扩展到大型问题。Lightning支持GPU内核的多GPU执行,甚至跨多个节点,并将数据无缝溢出到更高级别的内存(主内存和磁盘)。现有的CUDA内核可以很容易地适应Lightning,这些内核上的数据访问注释允许Lightning推断其数据需求和后续内核启动之间的依赖关系。Lightning在GPU之间有效地分配工作/数据,并通过重叠调度,数据移动和内核执行来最大限度地提高效率。我们介绍了Lightning的设计和实现,以及在多达32个GPU上进行8个基准测试和1个实际应用的实验结果。评估显示了出色的性能和可扩展性,例如使用Lighting的CPU加速57.2倍,16个GPU,4个节点和80 GB的数据,远远超过一个GPU的内存容量。
2022-03-02 cs.DC
Faster GPU Based Genetic Programming Using A Two Dimensional Stack
遗传编程(GP)是一种计算密集型技术,同时具有高度的自然并行性。并行计算架构已经变得司空见惯,特别是关于图形处理单元(GPU)。因此,已经实现了利用这些高度并行的计算平台的GP版本,使得能够实现GP的计算速度的显著增益。然而,最近使用多核CPU的GP的二维的堆栈方法也表现出相当大的性能增益。事实上,性能相当于或超过了GPU实现的。本文将证明,类似的二维的堆栈方法也可以应用于基于GPU的方法,以更好地利用底层技术。当利用GPU时,性能增益超过标准的一维堆栈方法。总体而言,观察到每秒超过550亿次遗传编程操作的峰值计算速度,比文献中最好的基于GPU的一维堆栈方法提高了两倍。
2016-01-02 cs.DC
BlockMGARD: Accelerating Adaptive Scientific Data Reduction with Region-of-Interest Error Control on GPUs
University of Oregon(俄勒冈大学);Oak Ridge National Laboratory(橡树岭国家实验室);New Jersey Institute of Technology(新泽西理工学院);Oregon State University(俄勒冈州立大学)
本文提出支持关注区域的GPU有损压缩器BlockMGARD,通过缓存内块分解等四项改进,在真实数据集上实现了比MGARD-X更高的吞吐量、压缩比与线性扩展性,降低了I/O成本。
2026-09-02 cs.DC
Accelerating Adaptive IDW Interpolation Algorithm on a Single GPU
本文重点研究了GPU加速的自适应逆距离加权插补算法的设计与实现。AIDW是标准IDW的改进版本,它可以根据空间点分布模式自适应地确定功率参数,实现比IDW更准确的预测。在本文中,我们首先提出了两个版本的GPU加速的AIDW,天真的版本没有从共享内存中获利和平铺的版本利用共享内存。我们还使用数据布局,数组结构(AoS)和对齐结构数组(AoaS),在单精度和双精度的上实现了朴素版本和平铺版本。然后,我们评估的GPU加速AIDW的性能进行比较,它与原来的CPU版本。实验结果表明:在单精度的上,朴素版本和平铺版本可以分别实现大约270和400的加速比。此外,在单精度的上,使用布局SoA的实现总是比使用布局AoaS的实现稍快。然而,在双精度的上,加速比仅约为8;我们还观察到:(1)与朴素版本相比,平铺版本没有获得性能提升;(2)使用SoA和AoaS不会导致计算效率的显着差异。
2015-12-10 cs.DC
Concurrent CPU-GPU Task Programming using Modern C++
在本文中,我们介绍了Heteroflow,一个新的C++库,以帮助开发人员使用任务依赖图快速编写并行CPU-GPU程序。Heteroflow利用了现代C++和基于任务的方法的强大功能来实现异构分解策略的高效实现。我们新的CPU-GPU编程模型允许用户以一种适应有效分离关注点和专业知识封装的方式来表达问题。与现有库相比,Heteroflow在性能扩展、编程效率和解决方案通用性方面更具成本效益。我们已经在VLSI设计自动化的两个实际应用中评估了Heteroflow,并展示了不同CPU-GPU数量和问题大小的性能可扩展性。在百万级任务处理的超大规模集成电路时序分析的一个特定示例中,Heteroflow在具有40个CPU核心和4个GPU的机器上实现了比基线高出7.7倍的运行时速度(99分钟vs 13分钟)。
2022-03-16 cs.DC
Accelerating QDP++/Chroma on GPUs
提供了对QCD数据并行接口的C++实现的扩展,从而能够加速NVIDIA GPU上的表达式计算。利用便携式表达式模板引擎并使用实时编译技术,将单个表达式卸载到设备内存和执行域。内存管理是由控制GPU内存的缓存的软件实现自动化的。与现有的Krylov空间求解器的互操作性进行了演示,并特别注意“色度准备”。格点量子色动力学计算中的非核心例程通常不受手动调谐优化的加速,这可以减少Amdahl定律的影响。
2011-11-23 cs.DC hep-lat
HC-SpMM: Accelerating Sparse Matrix-Matrix Multiplication for Graphs with Hybrid GPU Cores
针对真实图不规则性导致GPU上SpMM效率低的问题,提出HC-SpMM算法,利用混合GPU核心并结合数据划分、核心选择等优化,还集成至GNN流水线,在14个数据集上实现优于现有方案的加速效果。
2024-12-12 cs.DC
HetCCL: Accelerating LLM Training with Heterogeneous GPUs
snu-cse(首尔国立大学计算机科学与工程系);snu-ds(首尔国立大学数据科学研究院);moreh(Moreh公司);samsung(三星研究)
HetCCL通过统一异构GPU的集体通信库,实现跨供应商的高效训练,提升异构环境下的大语言模型训练性能。
2026-01-30 cs.DC cs.LG
DynaSOAr: Accelerating Single-Method Multiple-Objects Applications on GPUs
面向对象编程(OOP)长期以来一直被认为对于SIMD高性能计算来说效率太低,尽管许多重要的HPC应用程序都具有固有的对象结构。我们发现了OOP的一个广泛的子集,可以在大规模并行SIMD加速器上有效地实现。我们称之为单方法多对象(SMMO),因为并行性是通过在一种类型的所有对象上运行一个方法来表达的。为了让GPU编程经验不足的领域专家能够快速编程,我们开发了DynaSOAr,这是一个用于SMMO应用程序的CUDA框架。DynaSOAr通过SOA数据布局提高了已分配内存的使用率,并通过无锁分层位图有效管理空闲和已分配内存块来实现低内存碎片。
2019-05-29 cs.DC cs.PL
GPU Programming for AI Workflow Development on AWS SageMaker: An Instructional Approach
本文介绍一门面向本研学生的GPU编程与AI开发课程,通过AWS平台进行云端GPU配置与RAG优化实践,结果表明该体验式教学有效提升了学生的技术能力与问题解决能力。
2025-09-17 cs.DC
AsyncSparse: Accelerating Sparse Matrix-Matrix Multiplication on Asynchronous GPU Architectures
Cornell University(康奈尔大学);Georgia Institute of Technology(佐治亚理工学院)
本文提出两种新内核,利用异步GPU特性优化稀疏矩阵乘法,其中WCSR内核在SuiteSparse矩阵上性能优于现有方法,BCSR内核在Qwen2.5-7B预填充任务中实现显著加速。
2026-04-20 cs.DC
Accelerating K-mer Frequency Counting with GPU and Non-Volatile Memory
下一代测序(NGS)平台的出现增加了基因组测序的吞吐量,进而增加了需要处理的数据量,需要高效的计算进行分析。在这种情况下,包括加速器和非易失性存储器在内的现代架构对于大规模利用这些生物信息学工作负载至关重要。本文提出了一种重新设计的主要组成部分的国家的最先进的参考自由的方法,变异调用,SMUFIN,它已被改编,使最大的GPU和NVM设备。SMUFIN依赖于计算DNA序列中\textit{k-mers}(长度为$k$的子串)的频率,这也是许多生物信息学工作负载(如基因组组装)的一个众所周知的问题。我们提出了一些技术来提高k聚体计数的效率,并扩大工作负载,如\sm,过去需要16个节点的\mn到一个具有GPU和NVM驱动器的单个机器。结果表明,虽然单机无法提高16个节点的求解时间,但其CPU时间比16个节点的总CPU时间缩短7.5倍,能耗减少5.5倍。
2017-11-21 cs.DC
Decoupling GPU Programming Models from Resource Management for Enhanced Programming Ease, Portability, and Performance
应用程序资源规范--一个静态的参数规范,如线程数量和每个线程块的暂存器内存使用量--形成了现代GPU编程模型的关键组成部分。该规范确定了应用程序在执行期间的并行性,从而确定了应用程序的性能,因为相应的片上硬件资源是基于该规范分配和管理的。软件提供的资源规范和硬件中的资源管理之间的这种紧密耦合导致了编程简易性、可移植性和性能方面的重大挑战。Zorua是一个新的资源虚拟化框架,它将程序员指定的GPU应用程序的资源使用与片上硬件资源的实际分配相结合。Zorua通过对程序员透明地虚拟化每个资源来实现这种解耦。我们证明,通过提供更多的资源比物理上可用的通过控制和协调的虚拟化的错觉,Zorua提供了几个重要的好处:(一)编程容易。Zorua减轻了程序员的负担,提供了经过优化以有效利用物理可用的片上资源的代码。(ii)便携性。Zorua强调了在跨GPU代移植应用程序时重新调整应用程序资源使用的必要性。(iii)性能通过动态分配资源并在必要时仔细超额订阅,Zorua提高或保持了已经高度调整以最佳利用资源的应用程序的性能。
2018-05-02 cs.DC
Evaluating OpenMP Offloading for Intra-node Multi-GPU Programming across NVIDIA, AMD, and Intel Architectures: A 3D Heat Transfer Case Study
Rudolfovo-Science and Technology Centre Novo mesto(鲁多尔沃夫诺沃梅斯托科学与技术中心);Faculty of Mechanical Engineering, University of Ljubljana(卢布尔雅那大学机械工程学院);Department of Computer Science, FSTM, University of Luxembourg(卢森堡大学科学技术学院计算机科学系)
本研究以3D热传导为例,对比分析OpenMP Offloading在三类GPU上的性能,发现其多GPU实现较单GPU可获2倍、4倍左右性能提升。
2026-09-16 cs.DC
Accelerating Microswimmer Simulations via a Heterogeneous Pipelined Parallel-in-Time Framework
Beijing Forestry University(北京林业大学);University of Washington(华盛顿大学)
本文提出一种异构CPU-GPU框架,通过两级并行策略加速黏性流体中长时微游泳者模拟,克服传统Parareal方法的串行瓶颈,实现大规模生物物理系统复杂行为的可扩展模拟。
2026-04-13 cs.DC
How to Correctly Deal With Pseudorandom Numbers in Manycore Environments - Application to GPU programming with Shoverand
随机模拟通常对表征其结果的统计质量的随机性来源敏感。因此,我们需要高度可靠的随机数发生器(RNG)来满足这些应用。最近的发展试图通过越来越多的通用图形处理单元(GP-GPU)来缩短计算时间,以加速随机模拟。这种设备带来了新的并行化的可能性,但它们也引入了新的编程困难。由于RNG是任何随机模拟的基础,因此它们也需要移植到GP-GPU。在GP-GPU平台上仍然缺乏经过质量验证的RNG的精心设计的实现。在本文中,我们介绍了ShoveRand,一个框架定义的共同规则,产生随机数均匀的GP-GPU。我们的框架旨在应对任何支持GPU的开发平台,并向用户公开一个简单的界面。我们还提供了一个现有的RNG实现与此框架,以证明其在开发和易用性的效率。
2014-12-29 cs.DC
Batched Sparse Matrix Multiplication for Accelerating Graph Convolutional Networks
图卷积网络(GCN)作为一种高精度的机器学习方法,近年来在生物信息学和化学信息学领域得到了广泛的关注。GCN处理卷积运算以及图形结构,GPU用于处理大量运算,包括当图形结构表示为具有稀疏矩阵格式的邻接矩阵时的稀疏-密集矩阵乘法(SpMM)。然而,SpMM操作上的小图,其中节点的数量是几十或几百,很难利用高并行性或GPU的计算能力。因此,SpMM成为GCN应用中训练和推理的瓶颈。为了提高GCN应用程序的性能,提出了一种新的SpMM算法,特别是针对小稀疏矩阵的SpMM算法和Batched SpMM算法,该算法利用GPU的高并行性,通过单个CUDA内核处理多个SpMM操作。据我们所知,这是第一个工作的批处理方法的SpMM。我们评估了GCN应用程序在采用NVIDIA Tesla P100 GPU的TSUBAME 3.0上的性能,我们的批处理方法在训练和推理方面分别显示出高达1.59倍和1.37倍的显著加速。
2019-03-27 cs.DC
Acc-SpMM: Accelerating General-purpose Sparse Matrix-Matrix Multiplication with GPU Tensor Cores
针对通用SpMM的硬件性能释放需求,提出基于GPU Tensor Core的高性能库Acc-SpMM,通过重排序、压缩格式等多重优化,在多代NVIDIA GPU上实现了相较cuSPARSE的显著性能提升。
2025-01-16 cs.DC
Accelerating Translational Image Registration for HDR Images on GPU
Middle East Technical University(中东技术大学)
高动态范围(HDR)图像是使用场景的多次曝光生成的。当使用手持相机捕捉静态场景时,需要通过在两个维度上全局移动每个图像来对齐这些图像。为了实现快速和稳健的对齐,通常使用中值阈值位图(MTB)和创建图像金字塔来计算移位量。在这项研究中,我们优化这些计算使用并行处理的方法,利用GPU。实验结果表明,该实现实现的速度高达6.24倍的基线多线程CPU实现的对齐的一个图像对。源代码可在https://github.com/kadircenk/WardMTBCuda上获得
2020-07-13 cs.CV cs.DC
Accelerating QDP++ using GPUs
图形处理单元(GPU)作为科学高性能计算(HPC)中的目标架构变得越来越重要。NVIDIA建立了CUDA作为一种并行计算架构,控制和利用GPU的计算能力。CUDA为C++语言元素提供了足够的支持,以在设备内存域中启用表达式模板(ET)技术。QDP++是一个适用于量子场论的C++矢量类库,它提供了矢量数据类型和表达式,并形成了格点量子色动力学软件套件Chroma的基础。在这项工作中,利用ET技术和使用即时(JIT)编译成功实现了将QDP++表达式计算加速到GPU。可移植表达式模板引擎(PETE)和CUDA内核参数的C API用于在主机和设备内存域之间建立桥梁。这提供了将色度例程加速到GPU的可能性,这些GPU通常不受特殊优化的影响。作为一个应用实例,在GPU上加速了一个涂抹例程。可以测量到与正常CPU执行相比的显著加速。
2011-05-11 cs.DC cs.PL hep-lat
Combining Performance and Productivity: Accelerating the Network Sensing Graph Challenge with GPUs and Commodity Data Science Software
针对匿名网络感知图挑战赛的端到端复杂工作负载,研究用数据科学语言解读GraphBLAS公式,基于NVIDIA RAPIDS生态的现成ETL工具实现GPU加速,在多款NVIDIA GPU上较CPU版Pandas代码获百倍至千倍以上加速。
2025-09-03 cs.DC
Two-Dimensional Batch Linear Programming on the GPU
本文提出了一种新的,高性能的,图形处理单元为基础的算法,有效地解决二维的【形】线性规划的批量。二维的【形】线性规划的域是特别有用的,由于相关的几何问题的流行。批处理线性规划是指在一个操作中解决许多不同的线性规划。通过同时求解多个线性程序并在线程间均匀分配工作负载,可以最大化图形处理单元的利用率。对最先进的图形处理单元和CPU线性程序求解器,分别获得超过22倍和63倍的加速比。
2019-02-13 cs.DC
Accelerating high-order continuum kinetic plasma simulations using multiple GPUs
针对高维连续介质动力学等离子体模拟计算成本高的问题,开发了多GPU加速的Vlasov-Poisson求解器VCK-GPU,通过优化通信边界实现最高54倍时间步加速和341倍吞吐量提升,支持1024个GPU弱扩展,并应用于以往计算不可行的精细物理现象探索。
2024-10-16 cs.DC
Popcorn: Accelerating Kernel K-means on GPUs through Sparse Linear Algebra
本文提出基于 SpMM 和 SpMV 的核 K-means 稀疏线性代数表述,并实现开源 GPU 系统 Popcorn,最高较 CPU 加速 123.8 倍。
2025-01-09 cs.DC
Accelerating Biclique Counting on GPU
针对二分图中(p,q)-双团计数面临大规模图时的性能瓶颈,提出基于GPU的GBC算法,通过截断位图哈希、DFS-BFS混合探索及复合负载均衡策略大幅提升计数效率,最高实现1217.7倍加速。
2024-03-20 cs.DC
Shfl-BW: Accelerating Deep Neural Network Inference with Tensor-Core Aware Weight Pruning
深度神经网络(DNN)中的权重修剪可以降低存储和计算成本,但难以为模型推理时间带来实际加速。张量核可以显著提高GPU在密集计算上的吞吐量,但将张量核用于稀疏DNN是非常具有挑战性的。与现有的CUDA核相比,张量核需要更高的数据重用和矩阵形状的指令粒度,这两者都难以从稀疏DNN内核中产生。现有的剪枝方法无法平衡准确性和效率的要求:随机稀疏性很好地保留了模型质量,但禁止张量核加速,而高度结构化的块稀疏性可以利用张量核,但遭受严重的准确性损失。在这项工作中,我们提出了一种新的稀疏模式,混合块稀疏(Shfl-BW),旨在有效地利用张量核,同时最大限度地减少对权重结构的约束。我们的见解是,行和列排列为权重结构提供了丰富的灵活性,同时使用我们的GPU内核设计引入了可以忽略不计的开销。我们在线性和卷积层中优化了Shfl-BW的GPU内核。评估表明,我们的技术可以实现最先进的GPU上的速度和精度的权衡。例如,在精度损失很小的情况下,我们可以在75%稀疏度下,在NVIDIA V100、T4和A100 GPU上分别将Transformer的计算密集型层加速1.81、4.18和1.90倍。
2022-03-12 cs.DC
Accelerating wave-propagation algorithms with adaptive mesh refinement using the Graphics Processing Unit (GPU)
Clawpack是一个使用基于黎曼解算器和限制器的高分辨率有限体积法求解非线性双曲型偏微分方程的库。它支持自适应网格细化(AMR),这在解决多尺度问题中至关重要。最近,我们增加了使用图形处理单元(GPU)加速代码的功能。添加了管理CPU和GPU AMR数据并促进GPU内核执行的工具。定制和CPU线程安全内存管理器旨在管理GPU和CPU内存池,这对于消除内存分配和释放的开销至关重要。该算法在每个时间步进行全局约简,根据柯朗数约束动态调整时间步。一些小的GPU内核被合并到更大的内核中,这大大降低了内核启动开销。在声学基准问题中观察到$2$和$3$之间的总运行时间的加速。
2018-08-08 cs.DC cs.MS cs.NA
Magnum.np.distributed: Accelerating Finite Difference Micromagnetic Simulations with Multiple GPUs
Kyushu University(九州大学)
本文通过PyTorch Distributed扩展Python原生微磁框架magnum.np,首次实现多GPU加速,在8个NVLink连接的GPU上对退磁有效场计算获得7.0倍加速,并通过MPI后端在CPU上实现6.8倍加速。
2026-05-31 cond-mat.mes-hall cs.DC
Cuckoo-GPU: Accelerating Cuckoo Filters on Modern GPUs
Johannes Gutenberg University Mainz(约翰内斯·古腾堡美因茨大学)
本文提出Cuckoo-GPU,一种高性能GPU上的Cuckoo过滤器库,通过随机访问模式充分利用全局内存带宽,实现比现有动态AMQ结构更高的吞吐量,且在性能上超越CPU实现。
2026-03-16 cs.DB cs.DC
Accelerating Gaussian beam tracing method with dynamic parallelism on graphics processing units
本研究利用CUDA在GPU上重构高斯波束追踪算法,通过动态并行和内存优化,在城市及开阔平面环境中分别实现高达790倍和188倍的加速,并建立了性能评估策略。
2025-01-23 cs.DC cs.PF
Accelerating High-Order Mesh Optimization Using Finite Element Partial Assembly on GPUs
本文提出了一种基于高阶有限元的面向GPU的网格优化方法。我们的方法依赖于固定拓扑的节点移动,通过目标矩阵优化范式(TMOP),并在整个计算网格上使用全局非线性求解,即,所有网格节点一起移动。该方法的一个关键特性是网格优化过程是在有限元运算方面进行重铸的,这使我们能够利用GPU加速高阶有限元算法领域的最新进展。例如,我们通过使用张量分解和无矩阵方法来减少数据移动,与传统的全有限元矩阵组装相比,这些方法具有更优越的性能特征,并为基于GPU的HPC硬件提供优势。我们描述的主要数学组件的方法,以及其高效的面向GPU的实现。此外,我们提出了一个易于重现的网格优化测试,可以作为网格优化社区的性能基准。
2022-12-02 cs.DC cs.MS physics.comp-ph
Accelerating Number Theoretic Transformations for Bootstrappable Homomorphic Encryption on GPUs
同态加密(HE)由于提供了一种对加密消息进行隐私保护计算的方法而引起了极大的关注。数论变换(NTT)是有限整数域上离散傅立叶变换(DFT)的一种特殊形式,是实现HE加密密文快速计算的关键算法。先前的工作已经通过利用DFT优化技术在流行的并行处理平台GPU上加速了NTT及其逆变换。然而,这些基于GPU的研究缺乏对NTT和DFT之间的主要差异的全面分析,或者仅考虑小的HE参数,这些HE参数在不解密的情况下可以执行的算术运算的数量方面具有严格的约束。在本文中,我们分析了NTT和DFT的算法特征,并评估了在现代GPU上应用通常适用于DFT和NTT的优化时NTT的性能。从分析中,我们确定,NTT遭受严重的主内存带宽瓶颈的大型HE参数集。为了解决主内存带宽的问题,我们提出了一种新的NTT特定的对飞根生成计划被称为对飞旋转(OT)。与基线基2 NTT实现相比,在应用所有优化(包括OT)后,我们在现代GPU上实现了4.2倍的加速。
2020-12-03 cs.CR cs.DC
APNN-TC: Accelerating Arbitrary Precision Neural Networks on Ampere GPU Tensor Cores
University of California, Santa Barbara(加州大学圣巴巴拉分校);Pacific Northwest National Laboratory(太平洋西北国家实验室)
多年来,利用量化加速神经网络已被广泛研究。不幸的是,具有不同精度的先前努力(例如,1-位权重和2位激活)通常受到GPU上的有限精度支持的限制(例如,int 1和int 4)。为了打破这种限制,我们引入了第一个任意精度神经网络框架(APNN-TC),以充分利用Ampere GPU张量核心的量化优势。具体来说,APNN-TC首先采用了一种新的仿真算法,以支持任意短位宽计算与int 1计算原语和XOR/AND布尔运算。第二,APNN-TC集成了任意精度的层设计,以有效地将我们的仿真算法映射到具有新颖的并行策略和专门的内存组织的张量核心。第三,APNN-TC体现了一种新的任意精度NN设计,以最大限度地减少跨层的内存访问,并进一步提高性能。广泛的评估表明,APNN-TC可以在CUTLASS内核和各种NN模型(如ResNet和VGG)上实现显着的加速。
2021-11-16 cs.AI cs.AR cs.CV
High-level GPU programming in Julia
GPU是用于加速科学计算的流行设备。然而,由于GPU代码通常是用低级语言编写的,它打破了科学程序员流行的高级语言的抽象。为了克服这一点,我们提出了一个框架的CUDA GPU编程的高级朱莉娅程序设计语言。此框架编译Julia源代码以供GPU执行,并使用现代代码生成技术处理必要的低级交互,以避免运行时开销。评估框架及其API的案例研究,包括跟踪变换领域的图像处理,我们发现,对性能的影响是最小的,同时大大提高了程序员的生产力。Julia语言的元编程能力证明了这一点。我们的框架显着提高了GPU的可用性,使它们能够被广泛的程序员访问。它可以作为自由和开源软件在MIT许可证下获得许可。
2016-04-12 cs.DC cs.PL
MGG: Accelerating Graph Neural Networks with Fine-grained intra-kernel Communication-Computation Pipelining on Multi-GPU Platforms
University of Rochester(罗切斯特大学);Pacific Northwest National Laboratory(太平洋西北国家实验室);University of California, Santa Barbara(加州大学圣巴巴拉分校)
提出MGG系统,通过动态软件流水线实现多GPU平台GNN内核内细粒度计算与通信重叠,结合负载均衡与运行时优化,性能显著优于现有系统。
2023-06-27 cs.DC cs.LG
C-for-Metal: High Performance SIMD Programming on Intel GPUs
SIMT执行模型通常用于通用GPU开发。CUDA和OpenCL开发人员编写标量代码,由编译器和硬件隐式并行化。然而,在英特尔GPU上,这种抽象具有深刻的性能影响,因为底层ISA是SIMD,并且无法充分利用重要的硬件功能。为了缩小这一性能差距,我们引入了C-For-Metal(CM),这是一种显式SIMD编程框架,旨在在英特尔GPU上提供接近最佳性能。CM程序设计语言及其向量/矩阵类型提供了一个直观的界面来利用底层硬件功能,允许细粒度寄存器管理、SIMD大小控制和跨通道数据共享。实验结果表明,来自不同领域的CM应用程序的性能优于最知名的基于SIMT的OpenCL实现,在最新的英特尔GPU上实现高达2.7倍的加速。
2021-01-26 cs.DC cs.PL
A Multi-GPU Programming Library for Real-Time Applications
我们提出了MGPU,一个针对单节点多GPU系统的C++编程库。这样的系统结合了不成比例的浮点性能与高数据局部性,因此非常适合实现实时的【形】算法。我们描述了库的设计,编程接口和实现细节,在这个特定的问题域。这项工作的核心概念是一种新的容器抽象和类似MPI的通信方法,用于系统内通信。我们进一步展示了如何MGPU是用来作为一个框架,现有的GPU库移植到多设备架构。为了测试我们的库,我们使用多个GPU加速了用于实时的【形】磁共振成像的迭代非线性图像重建算法。我们使用2个GPU实现了约1.7的加速,并使用4个GPU达到最终2.1的加速。这些有希望的结果使我们得出结论,多GPU系统是一个可行的解决方案,实时的【形】MRI重建以及一般的信号处理应用。
2013-01-07 cs.DC cs.PF
GPU-Accelerated Primal Heuristics for Mixed Integer Programming
Nvidia(英伟达)
本研究提出融合GPU加速的混合整数规划原始启发式算法,通过GPU加速PDLP求解器、新增探测缓存并优化多种前沿启发式算法,在MIPLIB2017基准上显著提升了可行解数量与目标质量。
2025-10-30 cs.DC math.OC
Accelerating Domain Propagation: an Efficient GPU-Parallel Algorithm over Sparse Matrices
线性约束的快速域传播已经成为当今最好的混合整数规划和伪布尔优化算法和求解器的关键组成部分,以实现峰值求解性能。输入数据中的动态算法行为、依赖结构和稀疏模式形式的干扰使得在GPU上以及更一般地在并行架构上有效实现域传播具有挑战性。这就是为什么最先进的求解器中的域传播仅是单线程的主要原因之一。在本文中,我们提出了一种新的算法域传播(a)避免了这些问题,并允许在GPU上的有效实现,是(b)能够运行传播轮完全在GPU上,而不需要任何同步或与CPU的通信。我们提出了大量的计算结果,证明了我们的方法的有效性,并表明在实际相关的问题上有可能实现充分的加速:在最先进的GPU上,我们对合理大的实例的几何平均加速约为10倍至20倍,在相当大的实例上可以高达180倍。
2021-08-25 cs.DC cs.DM cs.DS
An Evaluation of GPU Filters for Accelerating the 2D Convex Hull
凸包算法是计算几何中最重要的算法之一,在计算机图形学、机器人学、数据采掘等领域有着广泛的应用。尽管在这一领域的新算法的进步,它往往需要提高性能,以解决更重要的问题,快速或实时处理。这项工作提出了一个实验评估GPU过滤器,以减少计算的2D凸包的成本。该技术首先对输入集进行预处理,在对数时间内过滤八顶点多边形内的所有点,以获得候选点的精简集。我们使用并行计算和使用曼哈顿距离作为度量来找到多边形的顶点并执行点过滤。对于过滤阶段,我们研究了不同的方法;从自定义CUDA内核到Thrust和CUB等库。测试了三种类型的点分布:正态分布(有利情况),圆周(最差情况),以及点从圆周随机移位的情况(中间情况)。实验评估表明,GPU滤波算法可以比顺序CPU实现快23倍,整个凸包计算可以比CGAL库提供的最快实现快30倍。
2023-03-19 cs.CG cs.DC