OpenCL/CUDA algorithms for parallel decoding of any irregular LDPC code using GPU
支持并行数据处理的多核架构的发展导致了一种范式的转变,这对通信系统产生了重大影响。本文提供了一个可扩展的并行迭代LDPC解码器的方法,在一个教程为基础的风格。该算法适用于任意非规则LDPC码的译码,不受最大节点度的限制,并包含伴随式的并行计算。这是迄今为止提出的算法的主要区别。所提出的方法可以在支持大规模并行计算的应用中实现,例如GPU或FPGA设备。最后讨论了基于OpenCL和CUDA框架的LDPC译码器的实现,并给出了性能评估。
2017-09-26 cs.DC cs.IT math.IT
PyRadiomics-cuda: 3D features extraction from medical images for HPC using GPU acceleration
Warsaw University of Technology, Faculty of Mathematics and Information Science(华沙技术大学,数学与信息科学学院)
PyRadiomics-cuda通过GPU加速实现医学图像三维特征提取,提升高通量AI流程的处理效率。
2026-02-19 cs.CV cs.DC
GPURepair: Automated Repair of GPU Kernels
本文提出了一种工具,用于修复在CUDA或OpenCL编写的GPU内核中由于数据竞争和屏障发散而导致的错误。我们对先前工作的新颖扩展也可以消除被认为是正确性不必要的障碍。我们在我们的工具GPURepair中实现了这些想法,该工具使用GPUVerify作为GPU内核的验证Oracle。我们还扩展了GPUVerify以支持CUDA协作组,允许GPURepair为CUDA内核执行块间同步。据我们所知,GPURepair是唯一可以为CUDA和OpenCL内核提供块内数据竞争和屏障发散错误修复的工具,也是唯一可以修复CUDA内核块间数据竞争的工具。我们进行了广泛的实验,约750内核,并提供了与以前的工作进行比较。我们通过其修复更多内核的能力以及其消除冗余障碍和处理块间数据竞争的独特能力来证明GPU修复的优越性。
2020-11-17 cs.DC cs.SE
Advancing Annotat3D with Harpia: A CUDA-Accelerated Library For Large-Scale Volumetric Data Segmentation
Brazilian Synchrotron Light Laboratory (LNLS)(巴西同步辐射光源实验室)
针对高分辨率体成像大规模数据集处理效率不足的问题,提出基于CUDA的Harpia库为Annotat3D扩展功能,实现超单卡显存容量3D数据的高效交互式分割,性能优于cuCIM、scikit-image等主流框架。
2025-11-14 cs.CV cs.DC
A Comparison of the Performance of the Molecular Dynamics Simulation Package GROMACS Implemented in the SYCL and CUDA Programming Models
本文针对多种标准GROMACS基准,在P100、V100和A100三种Nvidia GPU上比较SYCL与CUDA版本GROMACS的性能,以评估跨厂商异构编程模型。
2024-06-14 cs.DC cs.PF
Experience Report: Writing A Portable GPU Runtime with OpenMP 5.1
GPU运行时在历史上是用CUDA或其他专用于GPU编程的供应商特定语言实现的。在这项工作中,我们表明,OpenMP5.1,与轻微的编译器扩展,能够取代现有的解决方案,而没有性能损失。其结果是一个高性能和可移植的GPU运行时,可以使用LLVM/Clang编译到Nvidia和AMD GPU,而无需在开发和编译期间使用CUDA或HIP。当我们试图符合OpenMP时,我们发现需要编译器扩展来通过我们的OpenMP运行时实现CUDA性能。我们希望将来的OpenMP版本能够采用我们的扩展,使OpenMP中的设备编程也可以跨编译器移植,而不仅仅是跨执行平台。我们移植到OpenMP的库是在GPU上提供OpenMP功能的OpenMP设备运行时。这项工作为将OpenMP卸载与Linux发行版的LLVM包一起发布打开了大门,因为包管理器不需要供应商SDK来构建编译器和运行时。此外,我们的OpenMP设备运行时可以通过使用一些编译器内部函数来支持新的GPU目标,而不需要重新实现整个运行时。
2021-06-06 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
A sparse octree gravitational N-body code that runs entirely on the GPU processor
我们提出了并行算法的构建和遍历稀疏八叉树的图形处理单元(GPU)。该算法是基于并行扫描和排序方法。为了测试性能和可行性,我们在CUDA中以重力树代码的形式实现了它们,该代码完全在GPU上运行。(The代码可在http://castle.strw.learnuniv.nl/software.html公开获得)树构造和遍历算法可移植到支持CUDA或OpenCL编程语言的众核设备。重力树代码在树构造期间优于调优的CPU代码,并且总体上显示出超过20倍的性能改进,导致每秒超过280万个粒子的处理速率。
2012-04-10 astro-ph.IM cs.DC
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
GPU Implementations for Midsize Integer Addition and Multiplication
本文提出在GPU上使用高级函数式语言实现中等规模整数加法和乘法的简洁方案,利用扫描和简单工作划分,FFT乘法在较大尺寸上优于经典方法,原型在超过32K比特时胜过CGBN库。
2024-05-23 cs.DC cs.MS cs.PL
Bridging the Vendor Gap: Enabling AMD GPU Support for Awkward Array via ROCm/HIP for the HL-LHC Era
Princeton University(普林斯顿大学);Institute for Research and Innovation in Software for High Energy Physics (IRIS-HEP)(高能物理软件研究与创新研究所)
针对 HL-LHC 时代 AMD GPU 需求,提出 Rust 内核引擎 rawkward,通过优化模式恢复 CUDA 级性能,实现供应商无关的高能物理分析内核。
2026-09-22 cs.DC cs.PL
Montblanc: GPU accelerated Radio Interferometer Measurement Equations in support of Bayesian Inference for Radio Observations
University of Cape Town(开普敦大学);University of the Western Cape(西开普大学);Rhodes University(罗德斯大学);Observatoire de Paris(巴黎天文台);CNRS(法国国家科学研究中心);Université Paris Diderot(巴黎狄德罗大学);SKA South Africa(SKA南非)
我们提出了Montblanc,无线电干涉仪测量方程(RIME)的GPU实现,以支持无线电观测(BIRO)技术的贝叶斯推理。BIRO使用贝叶斯推理来选择与射电干涉仪观测到的最佳匹配的天空模型。为了实现这一点,BIRO多次评估RIME,改变天空模型参数,以产生多个模型视景。从模型计算的卡方值和观测到的天空亮度被用作似然值,以驱动贝叶斯采样过程并选择最佳天空模型。由于RIME和卡方计算的大多数元素彼此独立,因此它们非常适合并行计算。此外,Montblanc迎合迭代RIME评估,以产生多个卡方值。修改后的模型参数在每次迭代之间传输到GPU。我们将Montblanc作为基于NVIDIA CUDA架构的Python包实现。因此,很容易扩展和实现不同的管道。目前,Montblanc支持点和高斯形态,但设计用于轻松添加新的源配置文件。Montblanc的RIME实现是高性能的:在NVIDIA K40上,它比在双六核Intel E5- 2620 v2 CPU上的MeqTrees快大约250倍。与OSKAR模拟器的GPU实现的RIME组件相比,在相同的K40上,单精度和双精度浮点运算分别快7.7倍和12倍。然而,OSKAR的RIME实施比Montblanc的BIRO定制RIME更通用。Montblanc占主导地位的CUDA内核的理论分析表明,它是内存限制。在实践中,性能分析表明计算和内存之间是平衡的,…
2015-06-19 astro-ph.IM cs.CV cs.DC
GPGPU Based Parallelized Client-Server Framework for Providing High Performance Computation Support
并行数据处理已经成为处理涉及巨大数据集的应用程序所不可或缺的。这使得强调众核计算的图形处理单元(GPU)成为焦点。随着通用图形处理器(GPGPU)的出现,与图形操作不直接相关的应用程序也可以利用图形处理器的计算能力。因此,如果给定GPGPU的计算能力可以被任务优化并且可用,则将是有益的。本文描述了一个客户-服务器的【形】框架,用户可以选择一个处理任务,并提交大型数据集处理到远程GPGPU和接收结果回来,使用定义良好的接口。该框架在任务的数量和类型方面提供了可扩展性,客户端可以选择或提交这些任务以在远程GPGPU服务器机器上进行处理,并且对底层硬件和操作系统具有完全的透明性。GPGPU上的用户提交任务的并行化已通过NVIDIA计算统一设备架构(CUDA)实现。
2015-05-21 cs.DC
GPU PaaS Computation Model in Aneka Cloud Computing Environment
由于产生的数据量的激增以及人工智能(AI)技术(如机器学习和深度学习)的快速发展,现有的传统计算模型已经不足以处理用于提取内在信息的巨大数据量和复杂的应用逻辑。诸如图形处理单元(GPU)的计算加速器已经成为许多大数据和机器学习应用的事实上的SIMD计算系统。另一方面,传统的计算模式也逐渐从传统的基于所有权的计算转向基于订阅的云计算模式。然而,缺乏以无缝方式开发云原生应用程序以利用云中的CPU和GPU资源的编程模型和框架已成为快速应用程序开发的瓶颈。为了支持这种应用程序对同时使用异构资源的需求,需要编程模型和新的框架来有效地管理底层资源。Aneka是一种流行的PaaS计算模型,用于在单个容器.NET平台中使用多个编程模型(如Thread,Task和MapReduce)开发云应用程序。由于Aneka解决了使用基于CPU的资源的MIMD应用程序开发问题,而GPU编程(如CUDA)是为SIMD应用程序开发而设计的,因此本章讨论了Aneka Cloud的GPU PaaS计算模型,以实现.NET平台的快速云应用程序开发。流行的开源GPU库被利用并集成到现有的Aneka任务编程模型中。扩展了调度策略,可以自动识别GPU机器并相应地调度相应的任务。最后,以图像处理为例,介绍了基于PaaS Aneka SDK和CUDA库构建的系统。
2018-08-20 cs.DC
GPU-Accelerated Forward-Backward algorithm with Application to Lattice-Free MMI
LISN, CNRS, Université Paris-Saclay(巴黎萨克雷大学国家科学研究中心LISN实验室);Brno University of Technology(布尔诺理工大学)
我们建议在一个特定的半环中的稀疏矩阵之间的操作来表示的向前向后算法。这种新的视角自然会导致一个GPU友好的算法,这是很容易实现的Julia或任何程序设计语言与本地支持的半环代数。我们使用这种新的实现训练TDNN与LF-MMI目标函数,我们比较了我们的系统的训练时间与PyChain -最近推出的C++/CUDA实现的LF-MMI损失。我们的实现速度约为两倍,而不必使用任何近似,如“泄漏HMM”。
2021-10-22 cs.CL cs.DC
Marionette: Data Structure Description and Management for Heterogeneous Computing
LIP(葡萄牙粒子物理研究所);CERN(欧洲核子研究组织);University of Oregon(俄勒冈大学)
Marionette 是一个 C++17 库,通过编译期抽象将数据布局与接口解耦,为 GPU 等异构平台提供灵活高效的数据结构定义、内存管理与跨设备传输,并保持与现有代码兼容。
2025-11-06 cs.DC
Parallel Simulations for Analysing Portfolios of Catastrophic Event Risk
现代定量保险/再保险公司的分析流程的核心是用于投资组合风险分析和定价过程的随机模拟技术,称为聚合分析。在综合分析中,可以计算各种类型的复杂财产巨灾保险合同的风险度量,包括可能的最大损失(PML)和风险尾值(TVAR),这些合同包括Cat超额损失(XL),或每次发生XL和聚合XL,以及组合这些度量的合同。在本文中,我们探讨并行方法的总风险分析。提出了一种并行聚合风险分析算法和基于该算法的引擎。该引擎在多核CPU中使用C和OpenMP实现,在众核GPU中使用C和CUDA实现。该算法的性能分析表明,GPU提供了一个替代的高性能计算解决方案的聚合风险分析,是成本效益。GPU上的优化算法在20秒内对典型的暴露集和合同结构执行100万次试验聚合模拟,每次试验1000个灾难性事件,这比顺序模拟快约15倍。这可以充分支持实时定价场景,其中承销商在通过电话与客户讨论交易时分析不同的合同条款和定价。
2013-08-09 cs.CE cs.DC cs.PF
Computationally Efficient Implementation of a Hamming Code Decoder using a Graphics Processing Unit
本文提出了一种计算高效的实现汉明码解码器的图形处理单元(GPU),以支持实时软件定义无线电(SDR),这是一种软件替代实现无线通信。汉明码算法在GPU上有效地并行化是具有挑战性的,因为它在具有若干条件语句的稀疏位置的数据项上工作,导致非合并、长延迟、全局存储器访问和巨大的线程发散。为了解决这些问题,我们提出了一个优化的实施汉明码的GPU上利用更高的并行算法中固有的。使用支持计算统一设备架构(CUDA)的NVIDIA GeForce GTX 560(包括335个内核)的实验结果显示,与基于CPU的等效实现相比,所提出的方法实现了99倍的加速。
2014-12-22 cs.DC cs.IT math.IT
PLSSVM: A (multi-)GPGPU-accelerated Least Squares Support Vector Machine
University of Stuttgart(斯图加特大学)
机器学习算法必须能够有效地处理海量数据集。因此,它们必须在任何现代系统上都能很好地扩展,并且能够独立于供应商利用加速器的计算能力。在监督学习领域,支持向量机(SVM)得到了广泛的应用。然而,即使是现代和优化的实现,如LIBSVM或ThunderSVM,也不能很好地扩展到尖端硬件上的大型非平凡密集数据集:大多数SVM实现都基于顺序最小优化,这是一种优化的固有顺序算法。因此,它们不适合高度并行的GPU。此外,我们不知道一个性能可移植的实现,支持来自不同供应商的CPU和GPU。我们开发了PLSSVM库来解决这两个问题。首先,我们诉诸的SVM作为一个最小二乘问题的制定。然后,训练SVM归结为求解线性方程组,其中高度并行算法是已知的。其次,我们提供了一个独立于硬件但高效的实现:PLSSVM使用不同的可互换后端--OpenMP、CUDA、OpenCL、SYCL--在多个GPU上支持来自NVIDIA、AMD或Intel等各种供应商的现代硬件。PLSSVM可以用作LIBSVM的直接替代品。我们观察到,与LIBSVM相比,CPU上的加速高达10,与ThunderSVM相比,GPU上的加速高达14。我们的实现可在多核CPU上扩展,在多达256个CPU线程上的并行加速比为74.7,在多个GPU上的并行加速比为3.71。代码、实用程序脚本和文档都可以在GitHub上找到:https://github.co…
2022-09-05 cs.DC cs.LG cs.PF
On GPU Implementation for Multi-Precision Integer Division
University of Copenhagen(哥本哈根大学);Cheriton School of Computer Science, University of Waterloo(滑铁卢大学切里顿计算机科学学院)
本文提出一种基于牛顿迭代的整数除法算法在GPU上的高效实现,针对$2^{15}$到$2^{18}$位精度,通过算法改进和成本模型实现接近最优性能。
2026-07-14 cs.DC cs.MS cs.SC
GPU Accelerated Particle Visualization with Splotch
Splotch是一种渲染算法,用于在来自天文观测或数值模拟的基于粒子的数据集中进行探索和视觉发现。该方法的优势是生产高质量的图像和支持非常大规模的数据集,通过一个有效的组合的OpenMP和MPI并行编程范例。本文报告了我们在重新设计Spotch以利用当今越来越多的GPU的新兴HPC架构方面的经验。引入了一个性能模型,用于数据传输,计算和内存访问,以指导我们的重构。一些并行化的问题进行了讨论,特别是有关的竞争条件和工作负载平衡,实现最佳性能。我们的实现是通过使用CUDA编程范式完成的。我们的策略是建立在新的方案实现优化的数据组织和粒子分类。我们部署了一个参考模拟,以呈现加速增益和可扩展性的性能结果。最后,我们概述了未来工作发展的愿景,包括进一步优化和利用新兴技术的可能性。
2014-03-23 astro-ph.IM cs.DC
Machine Learning and Cloud Computing: Survey of Distributed and SaaS Solutions
IEAT
将流行的机器学习算法应用于大量数据给ML从业者带来了新的挑战。传统的ML库不能很好地支持大型数据集的处理,因此需要新的方法。使用现代并行计算框架(如MapReduce,CUDA或Dryad)的并行化越来越受欢迎和接受,导致在这些框架之上开发新的ML库。我们将简要介绍最突出的工业和学术成果,如Apache Mahout,GraphLab或Jubatus。我们将研究云计算范式如何影响ML领域。第一个方向是在云中部署流行的统计工具和库(R系统,Python)。第二个产品线是使用插件来增强现有工具,允许用户在云中创建Hadoop集群并在其上运行作业。接下来是ML算法的分布式实现库,以及用于数据分析和数据采掘的复杂系统的内部部署。本次调查的最后一个方法是ML作为软件即服务,一些大数据初创公司(以及大公司)已经向市场开放了他们的解决方案。
2016-03-29 cs.DC cs.LG