Fast, feature-rich weakly-compressible SPH on GPU: coding strategies and compiler choices
GPUSPH版本5通过代码重构与内核优化提升了15%至30%的性能,并发现NVIDIA官方nvcc编译器的局限性,转而支持Clang编译器获得了意外的性能提升。
2023-05-17 cs.DC cs.NA math.NA
Effective GPU Sharing Under Compiler Guidance
现代计算平台倾向于在单个节点上部署多个GPU(2个、4个或更多)以提高系统性能,每个GPU都具有大容量的全局内存和流式多处理器(SM)。GPU是一种昂贵的资源,提高GPU的利用率而不会导致单个工作负载的性能下降是一个重要且具有挑战性的问题。虽然像MPS这样的服务支持在单个设备上同时执行多个合作内核,但它们并不能解决不合作内核的上述问题,MPS不关心每个内核的资源需求。我们提出了一个完全自动化的编译器辅助调度框架。编译器通过识别内核启动及其相关的GPU操作(例如内存分配)来构建GPU任务。对于每个GPU任务,探测器在其启动点之前的主机端代码中进行检测。在运行时,探测器将关于任务的资源要求(例如,存储器和计算核)的信息传送到调度器,使得调度器可以以存储器安全、资源感知的方式基于任务的资源要求和设备的负载将任务放置在适当的设备上。为了证明其优势,我们基于该框架原型化了一个面向吞吐量的调度器,并在NVIDIA GPU上使用Rodinia基准套件和Darknet神经网络框架对其进行了评估。结果表明,所提出的解决方案优于现有的国家的最先进的解决方案,利用其知识的应用程序的多个资源需求,其中包括内存以及SM。它将Rodinia基准测试的吞吐量提高了2.5倍,将Darknet神经网络的吞吐量提高了2.7倍。此外,它将作业周转时间提高了4.9倍,并将单个内核的性能下降限制在最多2.5%。
2021-07-18 cs.DC
Compiler-Assisted Workload Consolidation For Efficient Dynamic Parallelism on GPU
GPU已被广泛用于加速表现出简单并行模式的计算-例如平面或两级并行-以及可以基于输入数据集的大小静态确定的并行度。然而,有效地使用GPU的算法表现出复杂的模式的并行性,可能只知道在运行时,仍然是一个悬而未决的问题。最近,Nvidia在其GPU中引入了动态并行(DP)。通过使直接从GPU线程启动内核成为可能,此功能在运行时启用嵌套并行。然而,仍然必须理解DP的有效使用:天真地使用此功能可能会遭受显着的运行时开销,并导致GPU利用率不足,从而导致性能低下。在这项工作中,我们针对这个问题。首先,我们演示了如何天真的使用DP会导致性能不佳。其次,我们提出了三个工作负载整合计划,以提高性能和硬件利用率的DP为基础的代码,我们实现这些代码转换在一个基于指令的编译器。最后,我们评估我们的框架上的两类应用程序:算法,包括不规则循环和算法表现出并行递归。我们的实验表明,我们的方法显着降低了运行时开销,提高了GPU的利用率,导致加速因子从90倍到3300倍的基本基于DP的解决方案和加速从2倍到6倍的平面实现。
2016-06-27 cs.DC
Portability for GPU-accelerated molecular docking applications for cloud and HPC: can portable compiler directives provide performance across all platforms?
基于结构的高通量药物样分子筛选已成为生物医学研究中的常用工具。最近,图形处理单元(GPU)的加速为分子对接程序提供了巨大的性能提升。云计算和高性能计算(HPC)资源都已用于具有分子对接程序的大屏幕;虽然NVIDIA GPU已主导了云计算和HPC资源,但AMD和英特尔等新供应商现在正在进入该领域,从而产生了跨不同GPU的软件可移植性问题。理想情况下,软件生产力可以最大限度地利用可移植的编程模型,这些模型能够在整个体系结构中保持高性能。虽然在许多情况下,编译器指令已被用作将基于CPU的程序的并行区域卸载到GPU加速器的简单方法,但它们也可能是一种有吸引力的编程模型,用于提供跨不同GPU供应商的可移植性,在这种情况下,移植过程可能会以相反的方向进行:从低级的特定于架构的代码到更高级别的基于指令的抽象。MiniMDock是一个新的迷你应用程序(miniapp),旨在捕获分子对接计算中发现的基本计算内核,例如用于药物发现工作,以测试跨GPU架构移植的不同解决方案。在这里,我们将MiniMDock扩展到使用OpenMP指令的GPU卸载,并比较使用CUDA的内核的性能,以及NVIDIA和AMD GPU上的HIP,以及不同的编译器,探索性能瓶颈。我们记录了这个反向移植过程,从高度优化的设备代码到使用指令的更高级别的版本,比较代码结构,并描述了在这项工作中克服的障碍。
2022-03-04 cs.DC q-bio.BM
Sgap: Towards Efficient Sparse Tensor Algebra Compilation for GPU
稀疏编译器是稀疏张量代数优化的一种很有前途的解决方案。在编译器实现中,稀疏-稠密混合代数的约简对性能起着关键作用。虽然GPU提供了各种可以更好地利用并行计算和内存带宽容量的约简语义,但核心问题是:如何将灵活的约简语义提升到假设串行执行的稀疏编译理论。具体而言,我们必须解决两个主要挑战:(1)采用静态同步粒度会浪费并行性(2)静态归约策略限制优化空间探索。我们提出了Sgap:段组和原子并行来解决这些问题。原子并行捕捉灵活的约简语义,系统地分析稀疏-密集混合代数在GPU上的优化空间。它是一种超越当前基于编译器和开源运行时库的新优化技术。段组将灵活的约简语义提升到稀疏编译理论中合适的抽象层次。该算法采用可变群规模和自定义约简策略分别解决问题(1)和(2)。最后,我们在TACO编译器上使用GPU稀疏矩阵-矩阵乘法(SpMM)作为用例来证明段组在约简语义提升中的有效性。我们实现了1.2倍的加速比原来的TACO的SpMM内核。我们还将原子并行发现的新优化技术应用于开源的最先进的SpMM库dgSPARSE。我们实现了1.6x - 2.3x的加速与原子并行调整的算法。
2023-01-09 cs.DC cs.PL
Compiler-supported reduced precision and AoS-SoA transformations for heterogeneous hardware
Department of Computer Science, Institute for Data Science, Durham University(达勒姆大学计算机科学与数据科学研究所)
本研究通过编译器支持的降精度和AoS-SoA转换优化异构硬件上的粒子模拟性能,探讨了不同GPU平台下的加速效果与转换策略。
2025-12-05 cs.DC cs.MS cs.PL
High-Level Big Integer Arithmetic in Futhark for GPUs
University of Copenhagen(哥本哈根大学);Cheriton School of Computer Science, U. Waterloo(滑铁卢大学切里顿计算机科学学院)
该研究用Futhark实现GPU上中等规模大整数的块级四则运算,对比手写C++/CUDA与CGBN,发现数组自动布局对性能关键,高级代码经优化后性能具竞争力。
2026-08-03 cs.DC cs.PL cs.SC
Syncopate: Efficient Multi-GPU AI Kernels via Automatic Chunk-Centric Compute-Communication Overlap
University of California, San Diego(加州大学圣地亚哥分校);Meta;George Mason University(乔治梅森大学);OpenAI
Syncopate通过在单个融合内核内实现细粒度的计算通信重叠,提高了多GPU工作负载的效率,平均加速1.3倍,最高达4.7倍。
2026-07-02 cs.DC
Record-Remix-Replay: Hierarchical GPU Kernel Optimization using Evolutionary Search
本文提出Record-Remix-Replay框架,结合LLM驱动的进化搜索、贝叶斯优化和记录回放编译技术,高效探索GPU内核优化,提升科学应用性能并加快优化速度。
2026-04-13 cs.AI cs.DC cs.LG
On the Limits of Performance Portability in Directive-Based GPU Programming
CINECA;Università degli Studi di Torino(都灵大学)
本文通过将天体物理磁流体动力学代码gPLUTO从OpenACC移植到OpenMP,评估了基于指令的GPU编程在NVIDIA A100和AMD MI250X上的性能可移植性,发现应用级性能差异可达3倍,核函数级可达47倍,主要受内存延迟和编译器限制影响。
2026-06-12 cs.DC
Taming Bitwise Behavior in GPU Kernels with Tensor Core: Black-Box Reconstruction, Compiler Enforcement, and Static Verification
Georgia Institute of Technology(佐治亚理工学院);Meta
针对 GPU 内核位级行为不确定性问题,提出归约顺序描述符、黑盒重构、编译器强制平衡树归约及静态位等价检查器,实现与 cuBLAS 位级匹配并提升性能。
2026-09-11 cs.DC cs.PF cs.PL
SparkAttention: High-Performance Multi-Head Attention for Large Models on Volta GPU Architecture
针对Volta GPU架构张量核心单元(TCU)计算形状特殊导致MHA加速不足的问题,提出SparkAttention库,通过利用TCU和核融合减少HBM访问与开销,在V100上相比PyTorch平均加速1.80倍(最高2.46倍),提升大型Transformer模型训练效率。
2025-08-21 cs.DC
KernelOPT: Dispatch-Aware Agentic Search for GPU Kernel Optimization
Red Hat(红帽公司)
KernelOPT提出多智能体系统,通过保留库调用并优化Triton子内核,结合四门验证级联,在250个KernelBench问题上实现最高1.40倍加速。
2026-10-07 cs.AI cs.DC cs.LG
Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking
每年都会推出新颖的NVIDIA GPU设计。这种快速的架构和技术进步,加上制造商不愿透露低级别的细节,使得即使是最熟练的GPU软件设计师也很难在微架构级别上保持最新的技术进步。为了解决这一关于新型NVIDIA GPU的公共微架构级信息的缺乏问题,独立研究人员采用了基于微基准的分析和发现。这导致了一系列多产的出版物,揭示了指令编码,内存层次结构的几何形状和每个级别的功能。也就是说,研究描述开普勒,麦克斯韦和帕斯卡架构的性能和行为。在这份技术报告中,我们将继续这一研究方向,展示通过微基准测试和指令集反汇编发现的NVIDIA Volta架构的微架构细节。此外,我们定量地比较我们的伏特发现对它的前辈,开普勒,麦克斯韦和帕斯卡。
2018-04-18 cs.DC cs.PF
A Survey and Measurement Study of GPU DVFS on Energy Conservation
能量效率已经成为当前计算系统的最高设计标准之一。动态电压和频率缩放(DVFS)已被膝上计算机、服务器和移动设备广泛采用以节省能量,而GPU DVFS仍处于一定早期。本文旨在探讨GPU DVFS对应用程序性能和功耗的影响,进而对节能。本文综述了GPU DVFS的最新研究成果,并对GPU功耗和性能模型的研究工作进行了总结。我们还在NVIDIA Fermi和Maxwell GPU上进行了真实的GPU DVFS实验。根据我们的实验结果,GPU DVFS具有显着的节能潜力。调整核心电压/频率和存储器电压/频率的效果不仅取决于GPU架构,而且取决于GPU应用的特性。
2016-10-06 cs.DC
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
ImageCL: An Image Processing Language for Performance Portability on Heterogeneous Systems
现代计算机系统通常将多核CPU与GPU等加速器相结合,以提高性能和能效。然而,这些系统的性能可移植性差,必须重新调整为一个设备的代码,以实现在另一个高性能。图像处理的重要性日益增加,其应用范围从地震学和医学到Photoshop。根据我们的经验与医疗图像处理,我们提出ImageCL,一个高级的特定领域的语言和源到源编译器,针对异构硬件。ImageCL类似于OpenCL,但抽象出了每个线程的优化细节,允许程序员专注于算法开发,而不是性能调优。后者留给我们的源到源编译器和自动调优器。从高级ImageCL内核,我们的源到源编译器可以生成多个OpenCL实现,并应用不同的优化。我们依赖于自动调优,而不是机器模型或前专家程序员的知识来确定应用哪些优化,使我们的调优过程高度鲁棒。此外,我们可以从单个源代码中为不同的设备生成高性能的实现,从而提高性能的可移植性。我们在三个图像处理基准上评估了我们的方法,在不同的GPU和CPU设备上,并且在几种情况下能够优于其他最先进的解决方案,实现高达4.57倍的加速比。
2016-05-20 cs.DC cs.PL
Compiler Support for Speculation in Decoupled Access/Execute Architectures
本文提出编译器支持,在解耦访问/执行架构中通过推测内存请求并标记错误推测,保持控制依赖下的解耦,适用于多种架构,扩大DAE适用范围。
2025-01-23 cs.AR cs.DC cs.PF
HiRace: Accurate and Fast Source-Level Race Checking of GPU Programs
提出HiRace,一种GPU程序源码级动态数据竞争检测工具,通过并行有限状态机压缩访问历史,在580个CUDA内核上实现零误报检测,平均速度提升10倍且内存开销减半。
2024-01-09 cs.DC
Optimization and Portability of a Fusion OpenACC-based FORTRAN HPC Code from NVIDIA to AMD GPUs
本文介绍了将基于 FORTRAN 和 OpenACC 的融合模拟工具 CGYRO 从 NVIDIA 移植到 AMD GPU 的经验,通过针对 AMD 的代码优化使其达到预期性能,并在 NVIDIA GPU 上获得了意外的速度提升。
2023-05-17 cs.DC cs.PF physics.plasm-ph
Testing and benchmarking emerging supercomputers via the MFC flow solver
针对新超级计算机部署的测试评估需求,本文介绍了带自动化工具链的CFD求解器MFC,基于其开展多架构、多编译器下的基准测试,发现了编译器问题,覆盖多类计算设备与旗舰超算。
2025-09-16 cs.DC
Dissecting the NVidia Turing T4 GPU via Microbenchmarking
在2019年,GPU制造商更新设计的速度很快,加上他们不愿透露微架构细节,对于那些希望提取尽可能高性能的软件设计师来说,仍然是一个障碍。去年,正是这些原因促使我们使用微基准测试来剖析Volta GPU架构。2018年8月,NVIDIA最新架构Turing的推出迫使我们更新我们的研究。在这份报告中,我们研究了图灵,并将其与前几代NVidia GPU进行了定量比较。具体来说,我们研究了T4 GPU:一个针对推理应用的低功耗板。我们描述了它的改进,其面向推理的前身:基于Pascal架构的P4 GPU。T4和P4 GPU的每瓦频率都比全尺寸GPU高得多。我们研究了T4的TensorCores的性能,发现低精度操作数的吞吐量比P4 GPU高得多。我们发现,图灵引入了新的指令,表达矩阵数学更简洁。我们映射图灵的指令空间,找到与Volta相同的编码和额外的指令。我们发现,图灵TU 104芯片具有相同的存储层次结构的深度作为伏GV 100的TU 104上的高速缓存级别的大小往往是两倍大的Pascal GP 104上发现的。我们对T4存储层次结构的每个组成部分进行了基准测试,发现其P4前身的整体性能有了很大的提高。我们研究了时钟调节如何影响达到功率或热量限制的计算密集型工作负载。我们的许多发现都是新颖的,在这里首次发表。所有这些都可以指导高性能软件开发人员更接近GPU的峰值性能。
2019-03-18 cs.DC
HPCTransCompile: An AI Compiler Generated Dataset for High-Performance CUDA Transpilation and LLM Preliminary Exploration
Tongji University(同济大学);Shanghai Artificial Intelligence Laboratory(上海人工智能实验室);Tsinghua University(清华大学)
本文提出HPCTransCompile框架,利用AI编译器自动生成高性能CUDA转译数据集并引入图增强方法和HPCTransEval基准,实验表明LLM在CUDA到CPU转译中平均加速比提升43.8%。
2025-07-04 cs.AI cs.DC
A Similarity Measure for GPU Kernel Subgraph Matching
加速器架构专门用于以锁步方式执行SIMD(单指令,多数据)。由于大多数CUDA应用程序都是并行循环,因此控制流信息可以提供内核的深入表征。CUDAflow是一个工具,它静态地将CUDA二进制文件分离为基本块区域,并动态地测量指令和基本块频率。CUDAflow在控制流图(CFG)中捕获此信息,并在各种内核的CFG之间执行子图匹配,以基于图的形状和遍历、执行的指令操作和分配的寄存器等信息了解应用程序的资源需求。CUDAflow的实用性通过各种GPU架构上的SHOC和Rodinia应用案例研究进行了演示,揭示了新颖的线程发散特性,这些特性有助于最终用户,自动调优器和编译器生成高性能代码。
2019-03-21 cs.DC
Kernel-as-a-Service: A Serverless Interface to GPUs
无服务器计算使得在可扩展的云资源上部署应用程序比以往任何时候都更容易,同时也为云提供商带来了更高的利用率。虽然这种技术对于CPU和本地DRAM等容易分割的资源效果很好,但它很难整合更昂贵的单片资源,如GPU或其他应用程序加速器。我们不能简单地将GPU放在FaaS平台上,并期望保持无服务器承诺的所有好处。如果我们想最好地利用这些关键资源,我们需要一个更有针对性的方法。在本文中,我们介绍了内核即服务(KaaS),这是一种面向GPU的无服务器接口。在KaaS中,GPU是一等公民,就像任何其他无服务器功能一样被调用。KaaS不像通常那样混合主机和GPU代码,而是运行仅GPU代码的图形,而主机代码运行在传统函数上。KaaS系统负责管理GPU内存并跨整个可用GPU池调度用户内核,而不是依赖于静态分配。这种方法使我们能够更有效地共享昂贵的GPU资源,特别是在云计算等多租户环境中。我们将对KaaS的支持添加到Ray分布式计算框架中,并使用包括基于TVM的深度学习编译器和BLAS库在内的工作负载对其进行评估。我们的研究结果表明,当GPU资源竞争时,KaaS能够将吞吐量提高50倍,延迟降低16倍。
2022-12-15 cs.DC
AcceleratedKernels.jl: Cross-Architecture Parallel Algorithms from a Unified, Transpiled Codebase
AcceleratedKernels.jl是Julia中并行计算的后端不可知库,通过独特的编译架构原生针对NVIDIA,AMD,Intel和Apple加速器。它以统一、紧凑的代码库编写,可以实现高效的并行编程,最大限度地降低实现和使用的复杂性。算术重内核的基准测试显示,性能与C和OpenMP多线程CPU实现相当,Julia有时提供比传统C编译器更一致和可预测的数值性能。卓越的可组合性是突出的,因为同时CPU-GPU协同处理是可实现的-例如CPU-GPU协同排序-透明使用硬件专用的MPI实现。在Baskerville Tier 2 UK HPC集群上进行的测试表明,使用200个NVIDIA A100 GPU,可以实现538-855 GB/s的世界级排序吞吐量,与文献报道的在262,144个CPU内核上实现的900 GB/s的最高数据相当。直接NVLink GPU到GPU互连的使用导致平均4.93倍的加速;通过综合资本,运行和环境成本进行标准化,如果采用GPUDirect互连,通信繁重的HPC任务只有在GPU上才具有经济可行性。
2025-07-22 cs.DC cs.PF
Optimizing PyTorch Inference with LLM-Based Multi-Agent Systems
NVIDIA Corporation(NVIDIA公司);Microsoft Corporation(微软公司);Ansel et al. ( 2024 )(Ansel等人(2024));Sabne ( 2020 )(Sabne(2020));Kerr et al. ( 2017 )(Kerr等人(2017));Tillet et al. ( 2019 )(Tillet等人(2019));Spector et al. ( 2024 )(Spector等人(2024));Ouyang et al. ( 2025 )(Ouyang等人(2025));Lange et al. ( 2025a(Lange等人(2025a;b));b )(Li等人(2025));Li et al. ( 2025 )(METR(2025));METR ( 2025 )(Andrews和Witteveen(2025));Andrews and Witteveen ( 2025 )(Baronio等人(2025));Baronio et al. ( 2025 )(Novikov等人(2025));Novikov et al. ( 2025 )(Wei等人(2025));Wei et al. ( 2025 )(Sharma(2025));Sharma ( 2025 )
本文提出基于LLM的多智能体系统用于优化PyTorch推理,发现exploit策略与error-fixing智能体结合效果最佳,实现2.88倍速度提升。
2026-05-14 cs.AI cs.DC cs.MA
Low Overhead Instruction Latency Characterization for NVIDIA GPGPUs
在过去的十年中,计算机系统行业发生了转变,其中异构计算变得普遍。图形处理单元(GPU)现在存在于超级计算机到手机和平板电脑中。GPU用于图形操作以及通用计算(GPGPU),以提高计算密集型应用程序的性能。然而,超出供应商提供的未披露特性的百分比并不小。在本文中,我们介绍了一个非常低的开销和便携式的分析,揭示在GPU流水线中执行的每个指令的延迟(S)和各种存储层次结构的访问开销在微架构级别的GPU中发现。此外,我们还展示了CUDA编译器可以在各种不同的语言上执行的各种优化的影响。我们对来自五个不同代/架构的七种不同高端NVIDIA GPU进行了评估:Kepler,Maxwell,Pascal,Volta和Turing。本文的结果可以帮助架构师对这些GPU的性能有一个准确的描述,这将有助于对硬件进行准确的建模。此外,软件开发人员可以对其应用程序进行明智的优化。
2019-09-01 cs.DC cs.PF