A Study of Single and Multi-device Synchronization Methods in Nvidia GPUs
GPU在通用计算中发挥着越来越重要的作用。许多算法需要在单个GPU中以不同的粒度级别进行同步。此外,密集GPU节点的出现也要求多GPU同步。Nvidia最新的CUDA提供了多种同步方法。到目前为止,还没有充分了解这些同步方法的特点。这项工作探讨了重要的未记录功能,并深入分析了Nvidia GPU最先进的同步方法的性能考虑因素和缺陷。在为运行在单GPU和/或多GPU环境上的应用程序、库和框架做出设计选择时,所提供的分析将非常有用。我们提供了一个常用的约简算子的案例研究,以说明在我们的分析中获得的知识如何有用。我们还描述了我们的微观基准和测量方法。
2020-04-11 cs.DC
RDMA-Based Algorithms for Sparse Matrix Multiplication on GPUs
本文针对GPU分布式环境下的稀疏矩阵乘法,提出基于RDMA和NVSHMEM的异步SpMM与SpGEMM算法,实验表明其性能优于批量同步方案,并支持工作窃取等新算法。
2024-05-31 cs.DC
Deterministic Sample Sort For GPUs
我们提出和评估GPU桶排序,一个并行的确定性样本排序算法的众核GPU。我们的方法比推力合并快得多(Satish等人,Proc. IPDPS 2009),最好的基于比较的GPU排序算法,它与Leischner等人的GPU随机样本排序一样快(将出现在Proc. IPDPS 2010)。我们的确定性样本排序的优点是,桶的大小得到保证,因此它的运行时间没有输入数据依赖的波动,可以发生随机样本排序。
2010-02-24 cs.CC cs.DC cs.DS
Decoding with Finite-State Transducers on GPUs
University of Notre Dame(圣母大学)
加权有限自动机和转换器(包括隐马尔可夫模型和条件随机场)广泛用于自然语言处理(NLP)中以执行诸如形态分析、词性标注、组块、命名实体识别、语音识别等任务。在图形处理单元(GPU)上实现有限状态算法将有利于NLP的许多领域。虽然研究人员已经实现了GPU版本的基本图形算法,有限的以前的工作,据我们所知,已经做了加权有限自动机的GPU算法。我们介绍了一个GPU实现的维特比和前向-后向算法,实现了高达5.2倍的解码加速比我们的串行实现运行在不同的计算机体系结构和6093倍的OpenFST。
2017-01-17 cs.CL cs.DC
FusionStitching: Deep Fusion and Code Generation for Tensorflow Computations on GPUs
近年来,机器学习在工业领域的应用越来越广泛。其中许多都基于流行的AI框架,如Tensorflow,Torch,Caffe或MxNet等,并由GPU等加速器平台提供支持。在GPU上运行Tensorflow计算的一个重要挑战是细粒度问题,即单个操作的FLOPS远远不足以充分利用底层加速器的计算能力。XLA框架为进一步探讨这个问题提供了坚实的基础。在本文中,我们提出了FusionStitching,一种新颖的,全面的运算融合和代码生成系统缝合到大型GPU内核的计算。在四个公共模型和我们的两个大型内部应用程序上的实验结果显示,与XLA融合基线相比,GPU内核启动又减少了55%(几何平均值)。这将我们两个延迟关键型内部应用程序的E2E性能提高了20%。
2018-11-13 cs.DC cs.MS
OMP2HMPP: HMPP Source Code Generation from Programs with Pragma Extensions
高性能计算越来越多地基于异构架构,GPGPU已成为其中的主要集成块之一,如最近出现的嵌入式系统中的Mali GPU或HPC服务器中的NVIDIA GPU。在这两种GPU中,编程可能会成为限制其采用的障碍,因为程序员必须学习硬件功能和使用这些功能的语言。介绍了一个自动将高级C源代码(OpenMP)翻译成HMPP的工具OMP2HMPP。生成的版本很少会与手工编码的HMPP版本不同,并且将提供接近113%的重要加速,稍后可以通过手工编码的CUDA进行改进。生成的代码可以传输到HPC服务器或嵌入式GPU,因为它们之间存在共性。
2014-07-25 cs.DC
CRIUgpu: Transparent Checkpointing of GPU-Accelerated Workloads
针对现有GPU检查点技术开销高、适配难的问题,本文提出基于新驱动功能的CRIUgpu方法,支持CUDA和ROCm应用,消除稳态开销并缩短恢复时间。
2025-02-23 cs.DC
Parallel Louvain Community Detection Optimized for GPUs
社区发现现在是许多基于图的应用中的重要操作。它用于揭示真实世界网络中存在的群体,而不会对社区集施加事先的大小或基数约束。尽管它的潜力,并行计算机的支持是相当有限的。其原因主要是算法的不规则性和潜在的算法暗示了顺序性。本文提出了一种基于GPU的并行版本的鲁汶方法。Louvain方法是一种用于模块化优化的多阶段迭代启发式方法。它最初是由Blondel等人(2008)开发的,该方法由于能够以快速和内存有效的方式检测高模块化社区分区而变得越来越受欢迎。所使用的并行算法首先由Hao Lu et al.(2015)引入。由于Louvain方法本质上是顺序的,它限制了可扩展使用的可能性。多亏了提出的并行算法,我观察到这种方法在GPU上的表现。为了进行评估,我在GeForce GTX 980 GPU上使用CUDA实现了虚拟化,为了进行测试,我使用了CERN开发的协作发现项目中的组织景观,该项目涉及专利和出版物,以可视化其合作者之间的技术联系。与在使用GPU的同一台机器上运行8个线程的并行Louvain实现相比,CUDA实现能够产生与CPU生成的结果相当的社区输出,同时使用GeForce GTX 980消费级GPU提供高达30的绝对加速比。
2018-05-28 cs.DC
Automatically Tuning the GCC Compiler to Optimize the Performance of Applications Running on Embedded Systems
本文介绍了一种新的方法,自动调整选择的编译器标志,以优化性能的软件打算运行在嵌入式硬件平台上。我们首先开发我们的方法编译的GNU C语言(GCC)的ARM Cortex-M3(CM 3)处理器的代码,我们展示了我们的方法如何优于行业标准-O3优化水平在不同的嵌入式基准套件。首先,我们量化的潜在收益,使用现有的迭代编译方法,时间密集型搜索每个基准的最佳配置。然后,我们调整迭代编译以输出单个配置,从而优化整个基准测试套件的性能。虽然这是一个耗时的过程,我们的方法构建了一个优化的变化-O3,我们称之为-OCM 3,实现了近三分之二的已知可用增益的CM 3和显着优于一个更复杂的国家的最先进的预测方法在交叉验证实验。最后,我们通过构建另外两个优化级别来在其他平台上演示我们的方法,这些优化级别在ARM Cortex-A8和8位AVR处理器上发现了更显著的加速。
2017-04-11 cs.DC cs.PF
Load-Balancing for Improving User Responsiveness on Multicore Embedded Systems
大多数商用嵌入式设备都部署了单处理器架构。由于Google Play Store和Apple App Store等应用程序商业模式的出现,运行在嵌入式设备上的应用程序的代码大小和复杂性正在迅速增加。因此,高性能多核CPU已成为嵌入式市场以及个人计算机市场的主要趋势。由于这一趋势,许多设备制造商已经能够采用更具吸引力的用户界面和高性能应用程序,以在多核系统上获得更好的用户体验。在本文中,我们描述了如何提高实时性能,减少用户等待时间的多核系统,使用分区每CPU运行队列调度技术。而不是专注于天真的负载均衡计划,同样平衡的CPU使用率,我们的方法试图通过考虑运行任务的重要性水平,以最大限度地减少任务迁移的成本,并优化多核嵌入式系统的CPU利用率。因此,我们的方法提高了实时特性,如缓存效率,用户响应速度和延迟。在高背景压力下的实验结果表明,我们的方法减少了紧急任务的平均调度延迟的2.3倍。
2021-01-20 cs.DC
Power Consumption Analysis of Parallel Algorithms on GPUs
由于其高度并行的多核架构,GPU越来越多地用于各种计算密集型应用。与CPU相比,GPU可以以节能的方式加速程序的执行,从而实现更高的性能。因此,GPGPU计算对于高性能计算应用和许多科学研究领域是有用的。为了进一步提高性能,GPU集群越来越多地被采用。GPU消耗的能量不容忽视。因此,基于其截止日期以及分配的优先级,可以部署将要由并行GPU执行的程序的节能时间调度,以面对其精力充沛的贪婪。出于这个原因,我们在本文中提出了一个模型,使测量的功耗和时间的一些基本操作运行在一个单一的GPU上使用一个新开发的能源测量协议的执行。因此,使用我们的方法,能源需求的程序可以预测,允许更好的任务调度。
2021-09-28 cs.DC cs.MS cs.NA
Diverse Adaptive Bulk Search: a Framework for Solving QUBO Problems on Multiple GPUs
本文提出DABS框架,一种基于遗传算法的多GPU QUBO求解器,通过多种搜索算法、遗传操作和解池的多样化策略,自动选择有效方法,在八块NVIDIA A100 GPU上成功找到三类QUBO问题的最优解。
2023-03-17 cs.DC cs.PF
Scheduling data flow program in xkaapi: A new affinity based Algorithm for Heterogeneous Architectures
在异构混合体系结构上高效实现并行应用需要在计算和与加速器设备的通信之间进行仔细的平衡。即使大部分的通信时间可以被计算重叠,减少通信数据的总量也是至关重要的。因此,文献中有大量的ad-hoc方法来达到这种平衡,但这些方法依赖于体系结构和应用程序。我们在这里提出了一个通用的机制来自动优化CPU和GPU之间的调度,并比较两种策略在此机制:经典的异构最早完成时间(HEFT)算法和我们的新的,参数化的,分布式亲和对偶近似算法(DADA),它包括在分组的任务之前,运行一个快速的对偶近似。我们在一个异构并行机上进行了实验,该并行机具有六个CPU内核和八个NVIDIA Fermi GPU。来自PLASMA库的三个标准密集线性代数内核已经移植到Xkaapi运行时之上。我们报道他们的表演。结果表明,HEFT和DADA在各种实验条件下表现良好,但DADA在较大的系统和GPU数量上表现更好,并且在大多数情况下,产生的数据传输比HEFT低得多,以实现相同的性能。
2014-04-25 cs.DC
How to Rent GPUs on a Budget
本文研究在长期预算约束下如何为机器学习训练作业流租用GPU,通过权衡训练成本与平均响应时间,推导出几乎不依赖作业到达与大小分布假设的最优GPU租用与分配策略。
2024-07-31 cs.DC cs.PF
A Versatile Software Systolic Execution Model for GPU Memory-Bound Kernels
本文提出了一种通用的高性能执行模型,灵感来自脉动阵列,内存受限的规则内核运行在CUDA使能的GPU。我们制定了一个脉动模型,转移部分和CUDA翘曲原语的计算。我们还采用寄存器文件作为缓存资源,以有效地操作整个模型。我们展示了所提出的模型的有效性和通用性,用于HPC中常见的各种模板内核,以及卷积内核(在深度学习工作负载中越来越重要)。我们的算法优于最先进的模板实现,包括复杂的时间和空间阻塞技术的实现,在两个最新的Nvidia架构:特斯拉V100和P100。对于一般滤波器大小和形状的2D卷积,我们的算法在V100和P100 GPU上的平均速度比Nvidia的NPP快2.5倍。
2019-09-06 cs.DC
From array algebra to energy efficiency on GPUs: Data and hardware shapes with dimension-lifting to optimize memory-processor layouts
提出基于MoA形式体系与维度提升的并行矩阵乘法算法,优化GPU内存-处理器布局,在V100上实现能耗随矩阵大小线性增长。
2023-06-19 cs.DC cs.MS
Online Event Selection for Mu3e using GPUs
在寻找标准模型之外的物理过程中,Mu 3e实验试图观察轻子味破坏衰变$μ^+ \rightarrow e^+ e^- e^+$。通过观察$1 \cdot 10^8μ$ /s的衰变产物,其目的是观察该过程,或者对其估计的分支比设置新的上限。高μ子速率导致$80$ \,Gbps的高数据率,其由通过背景过程产生的数据主导。我们提出了在线事件选择,一个三步算法上运行的图形处理单元(GPU)的$12$ Mu 3e过滤农场计算机。通过使用简单和快速的几何选择标准,该算法首先减少可能的事件候选的数量低于初始集合的$5\%$。然后,这些候选项用于重建完整的粒子轨迹,正确地重建信号轨迹的$97\%$。最后,使用简单的几何考虑而不是完全重建来重建可能的衰减顶点,从而正确地识别超过$94\%$的信号事件。我们还提出了一个完整的实现算法,满足所有性能要求的目标μ子率,并成功地降低了数据速率的一个因素的$200$。
2022-06-23 cs.DC physics.ins-det
On-Device Neural Net Inference with Mobile GPUs
Google Research(谷歌研究院)
移动电话的机器学习模型的设备上推断由于其较低的延迟和增加的隐私性而被期望。然而,由于有限的计算能力、热约束和能耗,仅在移动CPU上运行这样的计算密集型任务可能是困难的。应用程序开发人员和研究人员已经开始利用硬件加速器来克服这些挑战。最近,设备制造商正在将神经处理单元添加到高端手机中,用于设备上的推理,但这些仅占手持设备的一小部分。在本文中,我们介绍了如何利用移动GPU(几乎每部手机上无处不在的硬件加速器)为Android和iOS设备实时运行深度神经网络的推理。通过描述我们的架构,我们还讨论了如何设计移动GPU友好的网络。我们最先进的移动GPU推理引擎已集成到开源项目TensorFlow Lite中,并可在https://tensorflow.org/lite上公开获取。
2019-07-03 cs.CV cs.DC cs.LG
Nimble: Lightweight and Parallel GPU Task Scheduling for Deep Learning
Seoul National University(首尔国立大学)
深度学习(DL)框架利用GPU来提高DL推理和训练的速度。理想情况下,DL框架应该能够充分利用GPU的计算能力,使得运行时间取决于分配给GPU的计算量。然而,我们观察到,在调度GPU任务时,现有的DL框架存在效率低下的问题,例如较大的调度开销和不必要的串行执行。为此,我们提出了Nimble,这是一个DL执行引擎,可以以最小的调度开销并行运行GPU任务。Nimble引入了一种称为提前(AoT)调度的新技术。这里,调度过程在执行GPU内核之前完成,从而在运行时间期间去除大部分调度开销。此外,Nimble通过在单个GPU中利用多个GPU流来自动并行执行GPU任务。对各种神经网络的评估表明,与PyTorch相比,Nimble的推理和训练速度分别提高了22.34 $\times$和3.61 $\times$。此外,Nimble的性能比最先进的推理系统TensorRT和TVM分别高出2.81 $\times$和1.70 $\times$。
2020-12-04 cs.DC cs.LG
Accelerating Bidiagonalization of Banded Matrices through Memory-Aware Bulge-Chasing on GPUs
Computer Science & Artificial Intelligence Laboratory, and Department of Mathematics, Massachusetts Institute of Technology(麻省理工学院计算机科学及人工智能实验室和数学系);Computer, Electrical and Mathematical Sciences and Engineering Division, King Abdullah University of Science and Technology(阿卜杜拉国王科技大学计算机、电气和数学科学与工程系)
提出首个 GPU 加速的带状矩阵双对角化算法,通过内存感知的凸起追逐优化吞吐量,在多种 GPU 上实现显著加速。
2026-06-08 cs.DC cs.MS
Implementation Of Decoders for LDPC Block Codes and LDPC Convolutional Codes Based on GPUs
低密度奇偶校验(LDPC)码采用置信传播(BP)译码算法,可以获得接近香农限的性能。为了评估LDPC码的错误性能,通常使用在CPU上运行的模拟器。然而,评估具有非常好的错误性能的LDPC码所花费的时间过多。在本文中,高效的LDPC块码解码器/模拟器,运行在图形处理单元(GPU)的建议。我们还实现了LDPC卷积码(LDPCCC)的解码器。LDPCCC是从一个预先设计的准循环LDPC块码具有良好的错误性能。与基于随机构造的LDPCCC码的译码器相比,由于推导出的LDPCCC码的周期性和准循环结构的特性,所提出的LDPCCC译码器的复杂度降低了。在我们提出的解码器架构中,$Γ$(一个倍数的翘曲)码字一起解码,因此$Γ$码字的消息也一起处理。由于所有的$Γ$码字共享相同的Tanner图,所以对应于相同边的$Γ$不同码字的消息可以被分组到一个包中并线性地存储。通过优化在解码过程中使用的消息的数据结构,读取和写入过程可以由GPU以高度并行的方式执行。此外,还部署了一种最小化线程发散度的线程层次结构,从而最大化并行执行的效率。通过在GPU中使用大量的核心来同时执行简单的计算,我们的基于GPU的LDPC解码器可以获得数百倍的加速比相比,基于串行CPU的模拟器和超过40倍的加速比相比,基于8线程CPU的模拟器。
2012-07-27 cs.DC cs.IT math.IT
SUperman: Efficient Permanent Computation on GPUs
Sabanci University(萨班哲大学);CNRS, LIP (UMR5668 Université de Lyon - ENS de Lyon - UCBL - CNRS - Inria)(法国国家科学研究中心,里昂信息学实验室);Institute for Data Engineering and Science (IDEaS), Georgia Institute of Technology(佐治亚理工学院数据工程与科学研究院)
SUperman利用GPU高效计算矩阵永久性,实现比传统CPU快86倍的性能,并在192个GPU上完成62×62矩阵的永久性计算。
2025-10-03 cs.DC cs.DM cs.NA
A fully parallel, high precision, N-body code running on hybrid computing platforms
我们提出了一个新的实现的数值积分的经典,引力,N体问题的基础上的高阶厄米积分计划块时间步长,直接评估的粒子-粒子力。此代码(称为HiGPU)的主要创新是其完全并行化,在多核中央处理器的使用中利用了OpenMP和MPI,以及用于托管图形处理器的计算统一设备架构(CUDA)或OpenCL。我们在意大利超级计算联盟CINECA提供的超级计算机IBM iDataBase DX 360 M3 Linux Infiniband Cluster中使用多达256个GPU测试了代码的性能和准确性,N值高达800万。我们能够跟踪一个800万个物体的系统的进化,只需要几次交叉,这是以前直接求和代码无法完成的任务。科学界可免费获得该守则。
2012-07-11 astro-ph.IM cs.DC physics.comp-ph
A Competitive Edge: Can FPGAs Beat GPUs at DCNN Inference Acceleration in Resource-Limited Edge Computing Applications?
当作为生成模型进行训练时,深度学习算法在涉及高维数据的任务(如图像去噪和超分辨率)上表现出卓越的性能。在一个由移动和边缘设备主导的日益互联的世界中,对这些算法在嵌入式平台上本地运行的需求激增。FPGA凭借其可重编程性和低功耗特性,是这些边缘计算应用的理想候选者。因此,我们设计了一个时空并行的硬件架构,能够加速一个去卷积算法优化的电源效率的推理资源有限的FPGA。我们提出了这种基于FPGA的加速器,用于低功耗边缘计算应用中的解卷积神经网络(DCNN)推理。为此,我们开发了系统地利用微观建筑创新,设计空间探索和统计分析的方法。使用Xilinx PYNQ-Z2 FPGA,我们利用我们的架构来加速使用Wasserstein GAN框架在MNIST和CelebA数据集上训练的两个DCNN的推理。在这些网络上,与NVIDIA Jetson TX 1边缘计算GPU相比,我们的FPGA设计实现了更高的吞吐量与功率比,同时降低了运行间变化。
2021-03-09 cs.AR cs.DC eess.IV
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
Beyond the GPU: The Strategic Role of FPGAs in the Next Wave of AI
Instituto Tecnológico y de Estudios Superiores de Monterrey(蒙特雷理工大学)
针对GPU在低延迟、能效等方面的局限,提出利用FPGA的可重构特性直接映射AI算法,实现并行流水线与确定性时序,通过现场重配置、SoC集成等技术优化推理流程,缩短部署路径并实现硬件-算法协同设计。
2025-11-04 cs.AI cs.DC
Miriam: Exploiting Elastic Kernels for Real-time Multi-DNN Inference on Edge GPU
The Chinese University of Hong Kong(香港中文大学);City University of Hong Kong(香港城市大学)
针对边缘 GPU 上多 DNN 并发推理的资源争用问题,提出 Miriam 框架,通过弹性内核生成与运行时动态协调,在仅增加不到 10% 关键任务延迟的情况下将系统吞吐量提升 92%。
2023-07-10 cs.AI cs.DC
Performance Tuning for GPU-Embedded Systems: Machine-Learning-based and Analytical Model-driven Tuning Methodologies
Lawrence Berkeley National Laboratory(劳伦斯伯克利国家实验室);University of A Coruña(拉科鲁尼亚大学)
本文针对GPU嵌入式系统,提出并比较了分析模型驱动与机器学习驱动的两种调优方法,在NVIDIA Jetson上评估BPLG库并行前缀实现,并与穷举搜索及CUSPARSE等库对比,为性能可移植性提供指导。
2023-10-24 cs.DC cs.LG cs.PF