Parallelization of Kmeans++ using CUDA
K-means++是一种改进K-means算法中初始种子搜索过程的算法。在该算法中,初始种子的选择是连续的概率,这是成比例的距离最近的中心。该算法最关键的问题是在串行模式下运行时,降低了聚类速度。在本文中,我们的目标是并行化的k-means++算法的最耗时的步骤。我们的目的是减少运行时间,同时保持串行算法的质量。
2019-07-30 cs.DC
DiVinE-CUDA - A Tool for GPU Accelerated LTL Model Checking
在本文中,我们提出了一个工具,执行CUDA加速LTL模型检验。该工具利用调整到NVIDIA CUDA架构的并行算法MAP,以有效地检测有向图中接受循环的存在。接受循环检测是基于自动机的LTL模型检验的核心算法过程。我们证明了该工具优于非加速版本的算法,我们讨论了该工具的限制,我们打算在未来做什么,以避免它们。
2009-12-14 cs.DC cs.SE
Parallel DNA Sequence Alignment on High-Performance Systems with CUDA and MPI
本文提出CUDA与MPI混合的Needleman-Wunsch并行序列比对方案,通过GPU并行与多节点分布式计算显著加速大规模比对,无需修改底层算法。
2024-12-30 cs.DC
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
A Parallel Algorithm to Test Chordality of Graphs
本文在并行字典图宽度优先搜索算法的基础上,提出了一种简单的并行图弦度测试算法。总的来说,该算法在N线程机器上花费的时间为O(N),执行的工作为O(N 2),其中N是图中的顶点数。算法的实现使用了GPU环境Nvidia CUDA C.该算法在CUDA 4.2中实现,并在计算能力2.1的Nvidia GeForce GTX 560 Ti上进行了测试。在论文的最后,我们给出了我们的实现所取得的结果,并将它们与顺序算法所取得的结果进行了比较
2015-08-25 cs.DC cs.DS
Recognition of convolutional neural network based on CUDA Technology
针对具有高浮点运算性能的流处理器图形处理器(GPU)是否适用于神经网络的问题,提出了卷积神经网络(CNN)的并行识别算法,该算法采用统一计算设备架构(CUDA)技术,定义了并行数据结构,描述了计算任务在CUDA上的映射机制。比较了在GTX200硬件架构的GPU上实现的并行识别算法和在CPU上实现的串行识别算法。速度提高近60倍。结果表明,基于GPU的流处理器架构比CPU更适用于与神经网络相关的一些应用。
2018-08-27 cs.DC cs.NE
Design and optimization of DBSCAN Algorithm based on CUDA
DBSCAN是一种非常经典的数据聚类算法,在很多领域都有着广泛的应用.然而,随着数据规模的不断扩大,传统的串行算法已经无法满足性能要求。近年来,基于CUDA的并行计算发展迅速,在大数据处理方面具有很大的优势。本文在总结前人算法的基础上,利用CUDA和并行计算技术对DBSCAN算法进行了改进。与其他算法相比,该算法尽可能多地使用共享内存,具有很好的可扩展性。在新版本的DBSCAN上测试了一个数据集。最后,我们分析了结果,并给出了一个结论,我们的算法是大约97倍的速度比串行版本。
2015-06-07 cs.DC
A Massive Data Parallel Computational Framework for Petascale/Exascale Hybrid Computer Systems
异构系统在高性能计算(HPC)系统上变得越来越普遍。即使使用像CUDA和OpenCL这样的工具,在GPU上获得最佳性能也是一项重要的任务。简化此任务的方法包括Merge(用于异构多核系统的基于库的框架),Zippy(用于在多个GPU上并行执行代码的框架),BSGP(用于GPU上通用计算的新程序设计语言)和CUDA-lite(基于注释转换代码的CUDA增强)。此外,正在努力改进编译器工具,以实现GPU仿射循环嵌套的自动并行化和优化,以及将OpenMP并行代码自动转换为CUDA。在本文中,我们提出了一种替代方法:一个新的计算框架的大规模数据的并行科学代码的应用程序,适用于这样的千万亿次/亿亿次混合动力系统的高度可扩展的仙人掌框架的发展。作为其实用性的第一个非平凡的演示,我们成功地开发了一个新的3D CFD代码,实现了改进的性能。
2012-01-10 cs.DC
Solving the Resource Constrained Project Scheduling Problem Using the Parallel Tabu Search Designed for the CUDA Platform
Czech Technical University in Prague(布拉格捷克理工大学)
本文提出了一种求解资源受限项目调度问题的并行禁忌搜索算法。为了处理这个NP-难的组合问题,已经进行了许多优化。例如,通过启发式算法选择资源评估算法,并设计了有效的禁忌表。除此之外,提出了一种容量索引的资源评估算法,GPU(图形处理单元)版本使用同构模型来减少所需的通信带宽。实验结果表明,GPU版本在计算时间和解的质量方面优于优化的并行CPU版本。与其他现有的算法相比,所提出的解决方案往往给出更好的质量解决方案。
2017-11-13 cs.AI cs.DC
A Hybrid Parallel Implementation of the Aho-Corasick and Wu-Manber Algorithms Using NVIDIA CUDA and MPI Evaluated on a Biological Sequence Database
多个匹配算法被用来从一个有限的模式集在一个大的输入字符串中定位模式的出现。Aho-Corasick和Wu-Manber是两种最著名的多重匹配算法,它们需要更高的计算能力,特别是在必须处理大规模数据集的情况下,这在计算生物学应用中很常见。在过去的几年里,图形处理单元(GPU)已经发展成为强大的并行处理器,在科学计算中优于中央处理单元(CPU)。此外,可以并行使用多个GPU,形成混合计算机集群配置,以实现更高的处理吞吐量。本文评估的Aho-Corasick和Wu-Manber算法在混合GPU集群上的并行实现的加速比,当用于处理人类基因组的表达序列标签的快照和不同的问题参数。
2014-07-10 cs.CE cs.DC
Parallel Paradigms in Modern HPC: A Comparative Analysis of MPI, OpenMP, and CUDA
本文比较了MPI、OpenMP和CUDA三种HPC并行模型,分析其架构、性能与适用性,指出混合方法在异构环境中效果最佳,选择需依应用、硬件和开发约束而定。
2025-06-18 cs.DC
Deep Learning and Machine Learning with GPGPU and CUDA: Unlocking the Power of Parallel Computing
Georgia Institute of Technology(佐治亚理工学院);Indiana University(印第安纳大学);Xi’an Jiaotong-Liverpool University(西交利物浦大学);University of Hawaii(夏威夷大学);Kyoto University(京都大学);Emory University(埃默里大学);Sichuan University(四川大学);AppCubic;Rutgers University(罗格斯大学);University of Wisconsin-Madison(威斯康星大学麦迪逊分校);Purdue University(普渡大学);National Taiwan Normal University(台湾师范大学)
本研究探讨GPGPU和CUDA在深度学习与机器学习中的并行计算应用,分析架构特性、优化策略及多框架实践案例,为不同经验从业者提供综合指南,助力释放GPU并行计算潜力以推动AI发展。
2025-11-19 cs.AR cs.DC
High-Performance GPU-to-CPU Transpilation and Optimization via High-Level Parallel Constructs
虽然并行性仍然是性能的主要来源,但架构实现和编程模型会随着每一代新硬件而变化,这通常会导致成本高昂的应用程序重新设计。大多数用于性能可移植性的工具都需要手动和昂贵的应用程序移植到另一个编程模型。我们提出了一种替代方法,自动翻译程序写在一个编程模型(CUDA),到另一个(CPU线程)的基础上Polygeist/MLIR。我们的方法包括一个表示的并行结构,允许传统的编译器转换应用透明,无需修改,并使并行特定的优化。我们通过编译和优化CUDA Rodinia多核CPU基准套件来评估我们的框架,并实现了76%的几何加速比。此外,我们还展示了PyTorch的CUDA内核如何在仅CPU的超级计算机Fugaku上高效运行和扩展,而无需用户干预。我们的PyTorch兼容性层使用了编译的CUDA PyTorch内核,比PyTorch CPU原生后端的性能高出2.7 $\times$。
2022-07-01 cs.DC cs.PL
Integration of CUDA Processing within the C++ library for parallelism and concurrency (HPX)
经验表明,在当今的高性能系统上,很难将不同的加速卡的利用与系统的所有其它部分的高利用结合起来。随着内核数量的增加以及存储层次结构的加深,未来的架构(如百亿亿次集群)预计会加剧这一问题。分布式应用程序的一个重要方面是保证所有可用资源的高利用率,包括集群上的本地或远程加速卡,同时充分利用所有可用的CPU资源,并将GPU工作集成到整个编程模型中。对于CUDA代码的集成,我们扩展了HPX,一个通用的C++运行时间系统,用于任何规模的并行和分布式应用程序,并使异步数据传输和GPU设备和异步调用CUDA内核对这些数据。这两个操作都很好地集成到HPX的通用编程模型中,允许将任何GPU操作与主内核上的工作无缝重叠。任何用户定义的CUDA内核都可以在分布式应用程序可用的任何(本地或远程)GPU设备上启动。我们提出了异步实现的数据传输和内核启动CUDA代码的HPX异步执行图的一部分。使用这种方法,我们可以在集群上组合所有远程和本地可用的加速卡,以充分利用其性能。开销测量表明,作为HPX执行图的一部分,异步操作(数据传输+内核启动)的集成不会带来额外的计算开销,并显着简化了主内核和所使用的GPU设备上的协调和并发工作。
2018-10-26 cs.DC cs.PL
LightScan: Faster Scan Primitive on CUDA Compatible Manycore Processors
扫描(或前缀和)是并行计算中的基本且广泛使用的原语。在本文中,我们提出了LightScan,一个更快的并行扫描原语CUDA使GPU,它研究了一个混合模型相结合的块内计算和块间通信来执行扫描。该算法采用warp shuffle函数实现快速块内计算,并利用全局一致的L2缓存和相关的并行线程执行(PTX)汇编指令实现轻量级块间通信。使用单个Tesla K40 c GPU进行的性能评估表明,LightScan优于现有的GPU算法和实现,与在同一GPU上运行的领先CUDPP、Thrust、ModernGPU和CUB实现相比,其加速比分别高达2.1、2.4、1.5和1.2。此外,LightScan在16个CPU内核和英特尔至强融核5110P协处理器上的运行速度分别比英特尔TBB快8.9倍和257.3倍。LightScan的源代码可在http://cupbb.sourceforge.net上获得。
2016-04-17 cs.DC
RAFI -- A Ray/Work Forwarding Infrastructure for Data Parallel Multi-Node/Multi-GPU Computing
NVIDIA(英伟达);Bilkent University(比尔肯特大学);SCI Institute, University of Utah(犹他大学计算研究所);University of Cologne(科隆大学);NASA Ames Research Center(NASA艾姆斯研究中心);IT4Innovations, VSB -Technical University of Ostrava(Ostrava理工大学IT4创新中心)
提出基于CUDA和MPI的软件框架RaFI,简化GPU数据并行计算中射线等工作项在不同GPU间迁移的实现,通过统一接口管理底层通信。
2026-05-28 cs.DC cs.GR
DNA sequence alignment: An assignment for OpenMP, MPI, and CUDA/OpenCL
本文介绍一项并行计算课程作业,以多模式精确DNA序列比对的暴力解法为载体,训练学生用OpenMP、MPI及CUDA/OpenCL实现并行化,并覆盖竞态条件、归约、通信和推测计算终止等关键概念。
2024-09-09 cs.DC
GPGPU Computing
自从第一个将GPU用于通用计算的想法出现以来,多年来事情已经发展,现在有几种GPU编程的方法。GPU计算实际上始于NVIDIA推出的CUDA(计算统一设备架构)和AMD推出的Stream。这些是GPU供应商设计的API,与他们提供的硬件一起使用。OpenCL(Open Computing Language)是一种新兴的标准,它试图统一不同的GPU通用计算API实现,并为编写跨CPU和GPU组成的异构平台执行的程序提供了一个框架。OpenCL使用基于任务和基于数据的并行性提供并行计算。本文将重点介绍NVIDIA推出的CUDA并行计算架构和编程模型。我们将介绍CUDA编程模型的优点。我们还将比较两种主要的方法,CUDA和AMD APP(STREAM)以及试图统一GPGPU计算模型的新框架OpenCL。
2014-08-29 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
Benchmarking OpenCL, OpenACC, OpenMP, and CUDA: programming productivity, performance, and energy consumption
许多现代并行计算系统在其节点级是异构的。这样的节点可以包括通用CPU和加速器(诸如GPU或Intel Xeon Phi),其提供具有合适的能耗特性的高性能。然而,利用异构体系结构的可用性能可能具有挑战性。有各种并行编程框架(例如OpenMP、OpenCL、OpenACC、CUDA),选择适合目标上下文的框架并不简单。在本文中,我们实证研究的特点,OpenMP,OpenACC,OpenCL和CUDA的编程生产力,性能和能源。为了评估编程效率,我们使用了我们自己开发的工具CodeStat,它使我们能够确定使用特定框架并行化代码所需的代码行的百分比。我们使用我们的工具x-MeterPU来评估能耗和性能。实验使用行业标准的SPEC基准测试套件和Rodinia基准测试套件进行,用于在将英特尔至强E5处理器与GPU加速器或英特尔至强融核协处理器相结合的异构系统上进行加速计算。
2017-04-18 cs.DC cs.PF cs.PL
Developing a High Performance Software Library with MPI and CUDA for Matrix Computations
如今,并行计算的范式正在发生变化。CUDA现在是GPU上通用计算的流行编程模型,大量应用程序被移植到CUDA,与优化的CPU实现相比,获得了数量级的加速。将消息传递模型与用于并行计算的共享内存模型相结合的混合方法是非常大型应用程序的解决方案。我们考虑了一个异构集群,它使用MPI和CUDA将CPU和GPU计算结合起来,以开发高性能线性代数库。我们的图书馆处理大型线性系统求解器,因为它们是科学和工程领域的常见问题。由于高存储器需求和计算成本,用于计算此类系统的解的直接方法可能非常昂贵。一种有效的替代方法是只计算解的近似值的迭代法。在本文中,我们提出了一个实现的库,使用MPI和CUDA实现直接和迭代线性系统求解器的混合计算模型。我们的库使用MPI/CUDA组合实现了基于LU和Cholesky分解的求解器和一些非平稳迭代法。我们比较了我们的MPI/CUDA实现的性能与经典的程序写在一个单一的CPU上运行。
2015-11-23 cs.DC cs.MS
Swarm-NG: a CUDA Library for Parallel n-body Integrations with focus on Simulations of Planetary Systems
我们提出了Swarm-NG,一个C++库,用于使用高度并行的图形处理单元(GPU)(如NVIDIA的Tesla T10和M2070 GPU)高效地直接集成许多n体系统。虽然之前的研究已经证明了GPU对于具有数千到数百万个物体的n体模拟的好处,但Swarm-NG专注于许多少体系统,例如,数以千计的系统与3.每个星系有15个天体,这是研究行星系的典型方法。Swarm-NG将模拟并行化,包括运动方程的数值积分和使用NVIDIA的“计算统一设备架构”(CUDA)在GPU上进行的力评估。Swarm-NG包括四阶时间对称Hermite积分和混合变量辛积分的优化实现,以及其他算法的几个示例代码,以说明不熟悉CUDA的用户如何将自定义积分器引入Swarm-NG框架。为了优化性能,我们分析了GPU特定参数在双精度下对性能的影响。Swarm-NG的应用包括研究行星形成的后期阶段,测试行星系的稳定性,以及评估许多行星系模型与太阳系外行星宿主恒星(例如,径向速度、天体测量、凌日计时)。虽然Swarm-NG专注于许多行星系的并行积分,但底层积分器可以应用于各种各样的问题,这些问题需要使用不同的初始条件和/或参数值多次重复积分一组常微分方程。
2012-09-25 astro-ph.EP astro-ph.IM cs.DC
cuPC: CUDA-based Parallel PC Algorithm for Causal Structure Learning on GPU
Sharif University of Technology(谢里夫理工大学)
在经验科学的许多领域中,主要目标是从观测数据中发现一组变量之间的因果关系。PC算法是一种很有前途的解决方案,通过执行一些条件独立性测试来学习潜在的因果结构。在本文中,我们提出了一种新的基于GPU的并行算法,称为cuPC,执行一个订单独立版本的PC。所提出的解决方案有两个变体,cuPC-E和cuPC-S,它们以两种不同的方式并行化PC,用于多变量正态分布。实验结果表明,所提出的算法相对于变量的数量,样本的数量,和不同的图密度的可扩展性。例如,在一个最具挑战性的数据集中,运行时间从11个多小时减少到大约4秒。平均而言,与CPU上的串行实现相比,cuPC-E和cuPC-S分别实现了500倍和1300倍的加速。cuPC的源代码可以在网上找到[1]。
2019-09-23 cs.DC cs.LG q-bio.QM
Accelerating Fortran Codes: A Method for Integrating Coarray Fortran with CUDA Fortran and OpenMP
本研究提出融合Intel Coarray Fortran、Nvidia CUDA Fortran与OpenMP的并行编程方法,优化内存管理、CPU-GPU亲和性等,经并行泊松求解器验证,其性能与MPI相近且更易实现,可助力新老代码高效迁移至并行计算。
2024-09-03 astro-ph.IM astro-ph.SR cs.DC
SET: Stream-Event-Triggered Scheduling for Efficient CUDA Graph Pipelines
University of Wisconsin-Madison(威斯康星大学麦迪逊分校)
针对GPU调度开销和同步延迟问题,提出基于多流任务并行流水线模型和图执行流的CUDA运行时框架,实现1.15-1.44倍加速并减少18-54%调度开销。
2026-06-03 cs.AR cs.DC
Parallel Sub-Structuring Methods for solving Sparse Linear Systems on a cluster of GPU
本文的主要目的是分析子结构方法并行求解由有限元、有限体积和有限差分等偏微分方程离散化所产生的矩阵稀疏线性系。结合通用图形处理器(GPGPU)上的成功应用,提出了一种多GPU和CPU混合的子结构算法。GPU计算与CUDA一起用于加速在每个处理器上执行的操作。数值实验已经进行了一组矩阵所产生的工程问题。我们比较了C+MPI在经典CPU集群上的实现和C+MPI+CUDA在GPU集群上的实现。性能比较表明,使用CUDA子结构方法的速度提高了19倍,在双精度。
2021-08-08 cs.DC cs.MS cs.NA
Improving the performance of the linear systems solvers using CUDA
并行计算可以为几乎任何领域的大型应用程序提供巨大的性能优势:科学计算、计算机视觉、数据库、数据采掘和经济学。GPU是高性能众核处理器,可以获得非常高的FLOP速率。自从第一个使用GPU进行通用计算的想法以来,事情已经发展,现在有几种GPU编程方法:NVIDIA的CUDA和AMD的Stream。CUDA现在是C/C++程序员在GPU上进行通用计算的流行编程模型。大量应用程序被移植到CUDA编程模型,与优化的CPU实现相比,它们获得了数量级的加速提升。在本文中,我们提出了一个实现的图书馆解决线性系统使用CCUDA框架。我们提出的性能测试结果表明,使用GPU可以获得约80倍的CPU实现相比,加速比。
2015-11-23 cs.DC
The MPI + CUDA Gaia AVU-GSR Parallel Solver Toward Next-generation Exascale Infrastructures
本研究通过 CUDA 将 ESA Gaia 任务的 AVU-GSR 并行求解器移植至 GPU,利用 LSQR 算法求解大规模稀疏线性方程组,在 Marconi100 集群上实现了最高约 14 倍的加速,为 Gaia 数据发布及探索预百亿亿次级行为奠定基础。
2023-08-01 astro-ph.IM cs.DC
LASSI: An LLM-based Automated Self-Correcting Pipeline for Translating Parallel Scientific Codes
University of Illinois Chicago(伊利诺伊大学芝加哥分校);Argonne National Laboratory(阿贡国家实验室)
本文提出 LASSI 自动化流水线,通过 LLM 自校正循环实现 OpenMP 与 CUDA 并行代码的双向翻译,实验显示 80% 和 85% 的翻译可产生预期输出,验证了其生成可执行并行代码的有效性。
2025-05-04 cs.AI cs.DC cs.PL
Parallel implematation of flow and matching algorithms
在我们的工作中,我们提出了两个并行算法和他们的无锁实现使用流行的GPU环境Nvidia CUDA。第一个算法是网格图中的流问题的推-重标记方法。第二个是完全二部图中指派问题的成本缩放算法。
2011-10-28 cs.DC
Foundry: Template-Based CUDA Graph Context Materialization for Fast LLM Serving Cold Start
University of Michigan(密歇根大学);UC Berkeley(加州大学伯克利分校);Duke(杜克大学)
Foundry通过模板化CUDA图上下文材料化,减少LLM服务冷启动延迟,提升启动速度并保持吞吐量。
2026-04-08 cs.DC cs.LG
An Efficient Parallel Data Clustering Algorithm Using Isoperimetric Number of Trees
我们提出了一个并行的基于图的数据聚类算法,使用CUDA GPU,基于最小生成树的最小等周标准的精确聚类。我们还提供了我们的算法与其他相关算法的比较性能分析,这表明该并行算法在准确性和速度方面优于其他竞争算法。
2017-02-15 cs.DC
CUDA Leaks: Information Leakage in GPU Architectures
图形处理单元(GPU)部署在大多数现有的服务器、桌面甚至移动平台上。如今,越来越多的应用程序利用这种架构提供的高并行性来加速通用计算。这种现象被称为GPGPU计算(General Purpose GPU Computing)。这项工作的目的是发现和突出与CUDA相关的安全问题,CUDA是GPGPU计算最广泛的平台。特别是,我们提供了有关CUDA架构所面临的一组新漏洞的详细信息和概念验证,这些漏洞可能会被利用来导致严重的信息泄漏。根据基于可靠工程安全性的(详细)直觉,我们针对最后两代CUDA设备:费米和开普勒进行了几次实验。我们发现,这两个家庭确实存在信息泄露漏洞。特别是,两种架构之间共享一些漏洞,而另一些则是开普勒架构的特质。作为一个案例研究,我们报告的影响,这些漏洞之一的GPU实现的AES加密算法。我们还建议软件补丁和替代方法来解决所提出的漏洞。据我们所知,这是第一个工作表明,在CUDA中的信息泄漏是可能的,只使用标准的CUDA指令。我们希望我们的工作为该领域的进一步研究铺平道路。
2013-07-15 cs.CR cs.DC
KLARAPTOR: A Tool for Dynamically Finding Optimal Kernel Launch Parameters Targeting CUDA Programs
在本文中,我们提出了KLARAPTOR(Kernel LAunch parameters Rational Program estimaTOR),这是一个建立在LLVM Pass Framework和NVIDIA CUPTI API之上的新工具,用于动态确定CUDA程序P的内核启动参数的最佳值。使用性能预测模型,并且在运行时知道P的特定数据和硬件参数,程序R可以自动且动态地确定将产生最佳性能的P的启动参数的值。我们的技术可以应用于并行程序一般,以及通用的性能预测模型,占程序和硬件参数。我们对针对众核加速器的计划特别感兴趣。我们已经实施并成功地测试了我们的技术的背景下,GPU内核写在CUDA使用MWP-CWP性能预测模型。
2019-11-05 cs.DC cs.PF
Lessons Learned Migrating CUDA to SYCL: A HEP Case Study with ROOT RDataFrame
本文以ROOT RDataFrame的直方图填充操作为案例,详述从CUDA到SYCL的迁移过程与集成挑战,并通过对比AdaptiveCpp、DPC++和CUDA的性能分析,为SYCL开发者提供实践指导。
2025-01-06 cs.DC
GigaAPI for GPU Parallelization
GigaAPI是一个简化多GPU编程的用户空间API,通过抽象底层CUDA和C++复杂性提供全面功能,实验证明其能提升并行计算效率,推动GPU计算的普及。
2025-04-02 cs.AR cs.DC cs.PF
Scalable communication for high-order stencil computations using CUDA-aware MPI
高性能计算中的现代计算节点提供了巨大的并行性和处理能力。然而,由于已经观察到算术性能相对于存储器和网络带宽以更快的速率增加,因此优化数据移动对于在许多通信繁重的应用中实现强大的可扩展性变得至关重要。随着图形处理单元的引入,这种性能差距进一步加剧,图形处理单元可以通过多种因素提供比中央处理单元更高的数据并行任务吞吐量。在这项工作中,我们探讨了迭代模板循环的计算方面,并实现了一个通用的通信方案,使用CUDA感知MPI,我们用它来加速基于高阶有限差分和三阶龙格库塔积分的磁流体力学模拟。我们特别关注提高工作负载的节点内局部性。我们的GPU实现可在$50\%$上从一个$64$设备强烈扩展--基于理论性能模型的预期效率的$87\%$。与多核CPU求解器相比,我们的实现在$16$节点上的计算约束基准测试中表现出$20$-$60\times$加速和$9$ - $12\times$提高的能量效率。
2022-05-10 cs.DC physics.comp-ph physics.flu-dyn
Tutoring LLM into a Better CUDA Optimizer
Charles University(查理大学)
本文评估最新推理 LLM 生成优化 CUDA 代码的能力,通过提示指导、自动与人工评估及交互式纠错,发现其编码能力较强但需指导才能达到专家优化水平。
2025-10-19 cs.AI cs.DC
Seismic Imaging: An Overview and Parallel Implementation of Poststack Depth Migration
地震偏移是震测资料处理的核心步骤,对石油勘探具有重要意义。频率-空间域叠后深度偏移是常用的深度偏移算法之一。波动方程的解可以近似为FIR滤波过程,以外推原始数据并提取地下图像。由于其计算的复杂性,它的并行实现是鼓励。为了计算下一个深度级别,需要先前的深度级别。因此,由于数据依赖性,这部分不能并行化。但是在每个深度级别上都有大量的并行性,并且可以并行化。在CUDA编程的情况下,每个线程计算下一个深度平面上的单个像素。在计算下一个深度计划之后,我们可以通过对所有频率求和来计算深度行,并计算最终偏移图像中的所有深度行结果。在CUDA中实现了叠后深度偏移,并通过不同问题大小的顺序代码对其性能进行了评价。
2019-11-02 cs.DC cs.PF eess.IV
Gleam: Adaptive Network-Efficient CUDA API Remoting for Cross-Device GPU Sharing over LANs
Shanghai Jiao Tong University(上海交通大学);Lenovo Information Products (Shenzhen) Ltd(联想信息产品(深圳)有限公司);Lenovo (Beijing) Ltd(联想(北京)有限公司)
研究旨在实现局域网内跨设备GPU共享以促进AI推理,提出Gleam框架,通过自动模型权重缓存、异步执行、设计运行时任务调度器及确保上下文一致性等方法,提升API远程调用效率和系统吞吐量,性能优于现有基线。
2026-07-28 cs.DC cs.LG
CUDA Based Performance Evaluation of the Computational Efficiency of the DCT Image Compression Technique on Both the CPU and GPU
计算领域的最新进展,如大规模并行GPU(图形处理单元),以及存储和传输大量数字数据(尤其是图像)的需求,给计算机科学家、研究界和其他利益相关者带来了许多挑战。这些挑战,例如操纵数字数据的巨大成本等,近年来一直是研究界的焦点,并导致了对可以实现优异结果的图像压缩技术的研究。其中一种技术是离散余弦变换,它有助于将图像分成不同频率的部分,并具有出色的能量压缩优势。本文研究了使用计算统一设备架构(CUDA)编程模型来实现基于DCT的Cordic的Loeffler算法,以实现高效的图像压缩。对CPU和GPU下的计算效率进行了分析和评价。本文采用峰值信噪比(PSNR)来评价图像重建质量。结果进行了介绍和讨论。
2013-06-06 cs.DC cs.MM
Accelerating Deterministic Global Optimization via GPU-parallel Interval Arithmetic
本文提出基于 GPU 并行区间算术的空间分支定界方法,通过子域划分和 Mean Value Form 计算更紧下界,在 MAiNGO 中实现并验证可减少迭代、获得千倍加速。
2025-07-28 cs.DC math.OC
ParBench: A Benchmark for Reliable Evaluation of LLM Parallel Code Translation
研究针对大语言模型并行代码翻译缺乏可靠评估方法的问题,提出ParBench基准框架,通过声明性规范评估,涵盖多开源套件与跨API翻译方向,经源增强测试,揭示了当前并行代码翻译存在的如方向不对称等障碍。
2026-07-28 cs.AI cs.DC
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
A GPU-based parallel algorithm for enumerating all chordless cycles in graphs
在有限无向简单图中,一个无弦圈是一个诱导子图,它是一个圈。我们提出了一个GPU并行算法来枚举所有的弦圈这样的图。该算法,在OpenCL中实现,是基于以前的顺序算法开发的当前作者为同一问题。它使用了一个更紧凑的数据结构的解决方案表示,这是适合的GPU的内存大小的限制。此外,对于具有足够大量的无弦周期的图,该算法在执行时间上有了显着的改进,优于顺序方法。
2015-06-25 cs.DC
PAGANI: A Parallel Adaptive GPU Algorithm for Numerical
针对大规模并行结构上的多维数值积分这一具有挑战性的问题,提出了一种新的自适应并行算法。自适应算法已经证明了最好的性能,但有效的众核利用率是难以实现的,因为自适应的工作负载可以在整个集成空间变化很大,是不可能预测的先验。现有的并行算法利用独立的处理器上的顺序计算,这导致由于需要数据重新分配和处理器同步的瓶颈。我们的算法采用了高吞吐量的方法,其中所有现有的子区域进行处理,并在并行细分。重复的子区域分类和过滤改进了蛮力方法,并允许算法有效地利用计算和存储器资源。CUDA实现显示了比最快的开源CPU方法高出几个数量级的加速,并扩展了困难被积体的可实现精度。我们的算法通常优于其他现有的确定性并行方法。
2021-06-23 cs.DC
Genetic Algorithm Modeling with GPU Parallel Computing Technology
提出了一种多用途遗传算法,并采用GPGPU / CUDA并行计算技术进行了设计和实现。该模型源自一个名为GAME的多核CPU串行实现,该实现已经通过专门基于机器学习范式的数据挖掘的Web应用程序资源(DAMEWARE)在天体物理学海量数据分类问题上进行了科学成功的测试和验证。由于遗传算法本质上是并行的,GPGPU计算范式提供了一个利用模型的内部训练功能,允许在处理性能和可扩展性方面进行强大的优化。
2012-11-23 astro-ph.IM cs.DC cs.NE
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
Fast simulations of highly-connected spiking cortical models using GPUs
在过去的十年里,人们对开发用于模拟大规模尖峰神经元网络的并行硬件系统的兴趣越来越大。与其他高度并行系统相比,GPU加速解决方案具有成本相对较低和通用性强的优势,这也要归功于使用CUDA-C/C++编程语言的可能性。NeuronGPU是一个GPU库,用于大规模模拟尖峰神经网络模型,使用C++和CUDA-C++编程语言编写,基于一种新颖的尖峰传递算法。该库包括简单的LIF(leaky-integrate-and-fire)神经元模型以及几个具有基于电流或电导的突触的多突触AdEx(adaptive-exponential-integrate-and-fire)神经元模型、用户可定义的模型和不同的设备。AdEx模型的动力学微分方程的数值解是通过一个并行实现,写在CUDA-C++,五阶龙格-库塔法与自适应步长控制。在这项工作中,我们评估了这个库的性能上的模拟皮质微电路模型,基于LIF神经元和电流为基础的突触,并在一个平衡的网络的兴奋性和抑制性神经元,使用AdEx神经元和电导为基础的突触。在这些模型上,我们将证明所提出的库在每秒生物活性的模拟时间方面达到了最先进的性能。特别是,使用单个NVIDIA GeForce RTX 2080 Ti GPU板,可以以非常接近实时的速度模拟包括约77,000个神经元和$3 \cdot 10^8$连接的全尺寸皮层微电路模型,而1,000,000个AdEx神经…
2020-11-09 cs.DC cs.NE q-bio.NC
Speculative Parallel Evaluation Of Classification Trees On GPGPU Compute Engines
DePaul University(德保罗大学)
我们研究的问题,通过使用GPU的在线和实时应用程序的优化分类树评价。针对图像分割中经常使用的连续属性树,我们首先将现有的串行和数据并行评价算法建立在坚实的基础上。然后,我们介绍了一个推测性的并行算法设计的单指令,多数据(SIMD)架构中常见的GPU。理论分析表明,如何运行时间的数据和推测分解比较假设独立的处理器。为了比较SIMD环境中的算法,我们实现了CUDA 2.0架构的机器和比较时序的串行CPU实现。各种优化及其效果进行了讨论,并给出了所有算法的结果。我们的具体测试表明,与数据分解相比,推测算法将运行时间提高了25%。
2011-11-06 cs.CV cs.DC
Somoclu: An Efficient Parallel Library for Self-Organizing Maps
Somoclu是一个大规模并行工具,用于在用C++编写的大型数据集上训练自组织映射。它构建在用于多核执行的OpenMP和用于跨集群中的节点分配工作负载的MPI之上。如果图形处理单元可用,它还能够通过使用CUDA来促进培训。包含了一个稀疏内核,这对于高维但稀疏的数据很有用,比如文本挖掘工作流中常见的向量空间。Python、R和MATLAB接口便于交互式使用。除了快速执行之外,内存使用也得到了高度优化,即使在一台计算机上也可以训练大型紧急映射。
2017-06-09 cs.DC cs.MS cs.NE
Generating Binary Optimal Codes Using Heterogeneous Parallel Computing
最优码的生成是编码理论中的一个众所周知的问题。在文献中存在许多计算方法来寻找破纪录的代码。然而,使用串行算法生成具有长长度$n$的代码在计算上是非常昂贵的,例如,贪心算法的最坏情况时间复杂度是$\mathcal{O}(n\; 4^n)$。为了提高长代码生成的效率,我们提出并研究了一些基于通用图形处理器(GPGPU)的并行算法。本文研究了基于GPGPU-CUDA(Computed Unified Device Architecture)框架的并行贪心算法的实现,并讨论了各种优化技术对GPU代码的加速。优化并行实现的性能比串行实现快两到三个数量级以上,显示了GPGPU在编码理论应用领域的巨大潜力。
2015-07-20 cs.DC cs.IT math.IT