Kernel Launcher: C++ Library for Optimal-Performance Portable CUDA Applications
图形处理单元(GPU)在科学计算中已经变得无处不在。然而,由于需要仔细的代码调优,编写高效的GPU内核可能具有挑战性。为了自动探索内核优化空间,已经提出了几种自动调优工具,如Kernel Tuner。不幸的是,这些现有的自动调优工具通常不关心将调优结果集成回应用程序,这给应用程序开发人员带来了重大的实现和维护负担。在这项工作中,我们提出了内核启动器:一个易于使用的C++库,简化了高度调优的CUDA应用程序的创建。使用Kernel Launcher,程序员可以捕获内核启动,针对不同的设置调优捕获的内核,并使用运行时编译将调优结果集成回应用程序中。为了展示Kernel Launcher的适用性,我们考虑了真实世界的计算流体动力学代码,并针对不同的GPU,输入域和精度调整其内核。
2023-03-22 cs.DC
Optimizing CUDA Code By Kernel Fusion---Application on BLAS
现代GPU能够执行比将单个字传输到全局内存或从全局内存传输更多的算术运算。因此,许多GPU内核受到内存带宽的限制,无法利用GPU的运算能力。然而,当执行一系列内核并且该序列中的一些内核共享数据时,内核融合通常可以改善存储器局部性。在本文中,我们展示了如何内核执行地图,减少或其嵌套组合可以自动融合我们的源到源编译器。为了证明编译器的可用性,我们已经实现了几个BLAS-1和BLAS-2例程,并展示了如何通过融合来提高其序列的性能。与使用CUBLAS的类似序列相比,我们的编译器生成代码的速度比测试的示例快2.61倍。
2013-07-16 cs.DC
CB-SpMV:A Data Aggregating and Balance Algorithm for Cache-Friendly Block-Based SpMV on GPUs
School of Computer Science and Engineering Beihang University(北京航空航天大学计算机学院)
本文提出CB-SpMV算法,通过新颖的二维阻塞结构改进GPU上稀疏矩阵向量乘法的缓存局部性、硬件利用率和负载平衡,实验表明其在缓存命中率和速度提升方面优于现有方法。
2026-05-18 cs.DC
Mell: Memory-Efficient Large Language Model Serving via Multi-GPU KV Cache Management
针对大语言模型服务中KV缓存内存占用大、GPU负载不均的问题,本文提出MELL系统,通过自适应请求迁移机制和支持迁移的多GPU调度在线算法,实现内存高效服务,最多可减少31%GPU用量、提升43%GPU利用率。
2025-01-12 cs.DC
A Performance Comparison of CUDA and OpenCL
CUDA和OpenCL是两种不同的GPU编程框架。OpenCL是一种开放标准,可用于对来自不同供应商的CPU、GPU和其他设备进行编程,而CUDA则专用于NVIDIA GPU。虽然OpenCL承诺为GPU编程提供一种可移植的语言,但其通用性可能会带来性能损失。在本文中,我们使用来自量子蒙特卡罗应用程序的复杂的,几乎相同的内核来比较CUDA和OpenCL的性能。我们表明,使用NVIDIA编译器工具时,将CUDA内核转换为OpenCL内核涉及最小的修改。使用ATI的构建工具编译这样的内核涉及到更多的修改。我们的性能测试测量并比较了CUDA和OpenCL的GPU之间的数据传输时间、内核执行时间以及端到端应用程序执行时间。
2011-05-16 cs.DC cs.PF physics.comp-ph
Enabling predictable parallelism in single-GPU systems with persistent CUDA threads
针对现代单 GPU 难以提供实时时间保证的问题,本文提出利用持久化 CUDA 线程打开 GPU 架构黑盒,以实现 GPU 内部的可预测并行执行。
2023-10-02 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
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 Review of CUDA, MapReduce, and Pthreads Parallel Computing Models
高性能计算(HPC)和图形处理单元(GPU)的出现为需要并行处理以进行鲁棒和及时的数据分析的大数据事务(大数据)提供了巨大的计算资源。虽然已经提出了许多HPC框架,但并行编程模型提出了许多挑战,例如,如何充分利用不同编程模型中的功能,通过CPU和GPU中的多线程来实现和管理并行性。在本文中,我们将概述三种并行编程模型,CUDA,MapReduce和Pthreads。目标是探索有关该主题的文献,并提供编程模型中呈现的功能的高级视图,以帮助高性能用户简明地理解并行编程概念,从而使用高性能计算更快地实现大数据项目。
2014-10-16 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
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
Assessing Opportunities of SYCL for Biological Sequence Alignment on GPU-based Systems
本文研究将CUDA开发的生物序列比对工具SW\#迁移到SYCL标准的过程,利用Intel oneAPI实现,实验表明仅需少量手工编码即可完成迁移,且跨多种GPU和CPU架构移植时性能无明显下降,证明SYCL对生物信息学领域具有良好应用前景。
2024-02-23 cs.DC cs.PL
Accelerating High-Order Stencils on GPUs
在HPC应用中,广泛使用了速度计算。如今,许多HPC平台使用GPU作为加速器。因此,了解如何在GPU上快速执行模板计算非常重要。虽然在GPU上的低阶扩展的实现策略已经在文献中得到了很好的研究,但并不是所有提出的增强都能很好地用于高阶扩展,例如用于地震建模的增强。此外,处理边界条件通常需要不同的计算逻辑,这使得GPU上线程级并行性的有效利用变得复杂。在本文中,我们研究了高阶扩展及其在GPU上的独特特性。我们手工制作了一系列CUDA中25点地震建模模板和相关边界条件的实现。我们评估它们的代码形状、存储层次结构使用、数据获取模式和其他性能属性。我们使用几种成熟和新兴的工具对这些支架进行了实证评估,并讨论了我们的定量研究结果。在我们的实现中,我们实现了两倍的性能的专有代码开发的C和映射到GPU使用OpenACC。此外,我们的一些实现具有出色的性能可移植性。
2020-09-15 cs.DC
Parallel DNA Sequence Alignment on High-Performance Systems with CUDA and MPI
本文提出CUDA与MPI混合的Needleman-Wunsch并行序列比对方案,通过GPU并行与多节点分布式计算显著加速大规模比对,无需修改底层算法。
2024-12-30 cs.DC
A Hybrid Multi-GPU Implementation of Simplex Algorithm with CPU Collaboration
单纯形算法已成功地用于求解线性规划问题多年。由于所需的密集计算(特别是对于大型LP问题的解决方案),并行方法也得到了广泛的研究。现代GPU提供的计算能力以及多核CPU系统的快速发展,使OpenMP和CUDA编程模型在过去几年中成为首选。然而,通过结合使用上述编程模型,CPU和GPU之间所需的高效协作仍然被认为是一个很难的研究问题。在上述背景下,我们在这里展示了标准单工的高效实现,目标是在具有多个支持CUDA的GPU的多核平台上最大限度地利用所有计算资源的并发使用。更具体地说,我们提出了一种新的混合协作方案,这是基于适当的分散CPU分配(通过多线程)和GPU卸载计算的并发执行。通过在一个非常强大的现代混合平台(由32个核心和两个高规格GPU组成,Titan Rtx和Rtx 2080 Ti)上合作使用OpenMP和CUDA提取的实验结果突出显示,这里提出的混合GPU/CPU协作方案的性能在几乎所有条件下都明显优于仅GPU实现。相应的测量验证了并发使用所有资源的价值,即使是在多GPU配置平台的情况下。此外,给定的实现与参考书目中的其他相关尝试完全相当(在大多数情况下略优于),并且明显优于具有32个内核的本机CPU实现。
2022-11-20 cs.DC
Implementing CUDA Streams into AstroAccelerate -- A Case Study
为了能够在NVIDIA GPU上异步运行任务,程序员必须使用CUDA流的语法在代码中显式实现异步执行。流允许程序员启动独立的并发执行任务,提供异步利用GPU上不同功能单元的能力。例如,通过将不同的任务放置在不同的CUDA流中,可以在PCIe总线上传输来自对输入数据n-1执行的先前计算的结果,同时计算输入数据n的结果。这种方法的好处是主机和设备之间的数据传输所花费的时间可以通过计算隐藏。本案例研究涉及将CUDA流实施到AstroAccelerate中。AstroAccelerate是用于时域射电天文学的GPU加速实时信号处理管道。
2021-05-06 astro-ph.IM cs.DC
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
Simulation of 1+1 dimensional surface growth and lattices gases using GPUs
限制固体表面生长模型可以映射到二元晶格气体。我们表明,有效的模拟算法可以实现GPU上的CUDA或OpenCL编程。我们考虑了与非对称简单排除过程相关的1+1维Kardar-Parisi-Zhang生长的沉积/蒸发模型,并表明对于适合GPU共享内存的大小,可以实现最大并行化加速比(对于Quadro FX 5800显卡,相对于2.67 GHz的单个CPU)。这使我们能够研究淬火柱状无序的影响,需要非常长的模拟时间。我们比较CUDA实现OpenCL实现设计的处理器集群通过MPI。实现了一个具有随机转向点的双车道交通模型,并研究了该模型的动力学行为。
2011-03-30 cond-mat.dis-nn cond-mat.stat-mech cs.DC
TEMPI: An Interposed MPI Library with a Canonical Representation of CUDA-aware Datatypes
MPI派生的数据库是一种抽象,它简化了MPI应用程序中非连续数据的处理。这些数据库是在运行时从MPI标准中定义的命名类型原语递归构造的。最近,CUDA感知MPI实现的开发和部署鼓励了分布式高性能MPI代码向使用GPU的过渡。这样的实现允许MPI函数直接在GPU缓冲区上操作,从而简化了GPU计算到MPI代码中的集成。这项工作首先提出了一种新的数据类型处理策略,嵌套跨越数据库,找到了一个中间地带之间的专门或通用的处理在以前的工作。这项工作还表明,非连续数据处理的性能特征可以用经验系统测量来建模,并用于透明地改善MPI_Send/Recv延迟。最后,尽管大量关注非连续GPU数据和CUDA感知的MPI实现,但不能认为良好的性能是理所当然的。这项工作通过MPI插入器库TEMPI展示了其贡献。TEMPI可以与现有的MPI部署一起使用,而无需更改系统或应用程序。最终,这项工作的插入库模型表明,MPI_Pack的加速高达242000倍,MPI_Send的加速高达59000倍相比,MPI的实施部署在一个领导级的超级计算机。这在具有3072个进程的3D晕圈交换中产生超过917倍的加速。
2021-04-20 cs.DC
Spherical harmonic transform with GPUs
我们描述了一种用于计算适用于图形处理单元(GPU)的逆球谐变换的算法。我们使用CUDA和我们的实现基础上的Fortran 90例程包括在一个公开的并行包,S2HAT。我们把注意力集中在两个主要的顺序步骤中涉及的变换计算,保留了有效的并行框架的原始代码。我们详细介绍了优化技术,用于提高基于CUDA的代码的性能,并将它们与Fortran 90版本中实现的那些进行对比。我们还提出了一个单一的CPU加GPU单元与S2HAT代码运行在一个或4个处理器上的性能比较。特别地,我们发现使用最新一代的GPU,例如NVIDIA GF100(Fermi),可以将球谐变换相对于在一个核心上执行的S2HAT加速多达18倍,并且相对于在4个核心上执行的S2HAT加速多达5.5倍,其中整体性能受到快速傅立叶变换的限制。这里介绍的工作已经在宇宙微波背景模拟和分析的背景下进行。然而,我们希望开发的软件将更普遍的兴趣和适用性。
2010-10-06 astro-ph.CO cs.DC
Dissecting GPU Memory Hierarchy through Microbenchmarking
存储器访问效率是充分利用图形处理单元(GPU)的计算能力的关键因素。然而,GPU存储层次结构的许多细节并未由GPU供应商公布。在本文中,我们提出了一种新的细粒度的微基准测试方法,并将其应用到三代NVIDIA GPU,即费米,开普勒和麦克斯韦,揭露以前未知的特点,他们的存储层次结构。具体来说,我们研究了不同的GPU缓存系统的结构,如数据缓存,纹理缓存和翻译后备缓冲区(TLB)。我们还调查了GPU的全局内存和共享内存的吞吐量和访问延迟。我们的微基准测试结果提供了一个更好的理解神秘的GPU存储层次结构,这将有助于软件优化和建模的GPU架构。据我们所知,这是第一个揭示Kepler和Maxwell GPU的缓存属性的研究,以及Maxwell在存储体冲突下共享内存性能的优势。
2016-03-14 cs.AR cs.DC
Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries
我们提出了几个现代的C++库提供高层次的接口编程多核和众核架构上的CUDA或OpenCL的比较。比较的重点是解决常微分方程,是基于odeint,一个框架的解决方案系统的常微分方程。Odeint以非常灵活的方式设计,可以很容易地适应使用CUDA或OpenCL技术的Thrust,MTL4,VexCL或ViennaCL等库的有效使用。我们发现CUDA和OpenCL同样适用于大规模的问题,而OpenCL对于较小的问题具有更高的开销。此外,我们表明,现代的高级库允许有效地使用多核GPU或多核CPU的计算资源,而无需太多的底层技术的知识。
2013-04-26 cs.DC cs.MS physics.comp-ph
GPU-Accelerated Discontinuous Galerkin Methods: 30x Speedup on 345 Billion Unknowns
本文提出了一种在笛卡尔网格上离散无粘流体动力学控制方程--可压缩欧拉方程的间断Galerkin方法,并通过OCCA(一种统一的多线程硬件结构性能移植方法)将其应用于图形处理单元。与使用非CUDA感知MPI通信的仅CPU实现相比,在多达1,536个NVIDIA V100 GPU上实现了30倍的求解时间加速,并且在多达6,144个NVIDIA V100 GPU上实现了并行强大的可扩展性,解决了包含3,450亿个未知数的问题。CUDA-Aware MPI通信与非GPUDirect通信的比较表明,在由32个NVIDIA V100 GPU组成的8个节点上,速度提高了24%。
2020-08-31 cs.DC cs.NA cs.PF
VUDA: Enabling Controlled Spatial Sharing of Graphics and Compute on NVIDIA GPUs
Shanghai Jiao Tong University(上海交通大学)
VUDA通过打破CUDA与Vulkan的执行隔离,实现计算与图形任务的空间并行,提升GPU利用率并减少端到端延迟。
2026-09-29 cs.AI cs.DC cs.OS
Accelerating State-Vector Quantum Simulation on Integrated GPUs via Cache Locality Optimization: A Cross-Architecture Evaluation
Instituto de Pesquisas Eldorado(Eldorado研究所);Universidade Federal de Santa Catarina(圣卡塔琳娜联邦大学);Pontifícia Universidade Católica do Rio Grande do Sul(南里奥格兰德天主教 Pontifícia 大学)
本文通过缓存局部性优化提升集成GPU上量子模拟效率,针对不同架构验证了状态分片优化的有效性,显著提升了GPU相对于CPU的速度提升。
2026-05-14 cs.AR cs.DC cs.PF
CUDA Support in GNA Data Analysis Framework
使用GPU作为协处理器是一种成熟的方法,可以加速对矩阵和向量进行运算的昂贵算法。我们的目标是通过以一种对最终用户透明的方式添加GPU支持来进一步提高全球中微子分析框架(GNA)的性能。为了实现我们的目标,我们使用CUDA,这是一种提供GPGPU编程方法的最先进技术。在本文中,我们描述了与CUDA支持相关的GNA的新功能。还解释了影响GPGPU集成的一些特定框架特性。本文研究了GPU技术应用的可行性,并给出了一个在框架内实现的算法加速的例子。基准测试显示,使用GPU转换时,性能显著提高。该项目目前处于发展阶段。我们的计划包括在GNA框架中实现数据分析所需的一组转换,以及在完整的分析链中测试GPU的便利性。
2018-04-20 cs.CE cs.DC
LLMQ: Efficient Lower-Precision Pretraining for Consumer GPUs
IST Austria(奥地利因斯布鲁克理工大学)
LLMQ通过优化消费级GPU的内存和通信瓶颈,实现了高效低精度语言模型的训练,无需额外算法近似,可在中端显卡上训练大模型。
2025-12-17 cs.DC cs.LG
Effective Extensible Programming: Unleashing Julia on GPUs
GPU和其他加速器是用于加速计算密集型可并行化应用的流行设备。然而,对这些设备进行编程是一项艰巨的任务。编写高效的设备代码是具有挑战性的,并且通常是用低级程序设计语言来完成的。高级语言很少得到支持,或者不与高级语言生态系统的其余部分集成。为了克服这一点,我们提出了编译器的基础设施,有效地增加了对新的硬件或环境的支持,现有的程序设计语言。我们通过在Julia程序设计语言中添加对NVIDIA GPU的支持来评估我们的方法。通过与现有编译器的集成,我们大大降低了实现和维护新编译器的成本,并促进了现有应用程序代码的重用。此外,使用高级Julia程序设计语言可以实现GPU编程的新的动态方法。这大大提高了程序员的工作效率,同时保持与官方NVIDIA CUDA工具包相似的应用程序性能。
2017-12-08 cs.DC cs.PL
Hierarchical Roofline Analysis: How to Collect Data using Performance Tools on Intel CPUs and NVIDIA GPUs
本文概述了一系列收集英特尔CPU和NVIDIA GPU上必要性能数据的方法,以进行分层Roofline分析。截至2020年年中,英特尔Advisor和NVIDIA Nsight Compute这两个供应商性能工具已将Roofline分析集成到其支持的功能集中。本文填补了当这些工具不可用时,或者当用户希望为某些分析提供更定制的工作流程时的空白。具体来说,我们将讨论如何在英特尔架构上使用英特尔Advisor、RRZE LIKWID、英特尔Intel Processor和英特尔Amplifier,以及如何在NVIDIA架构上使用nvprof、Nsight Compute指标和Nsight Compute部分文件。这些工具将用于收集存储层次结构中尽可能多的存储器/高速缓存级别的信息,以便深入了解应用程序的数据重用和高速缓存位置特性。
2020-10-04 cs.AR cs.DC cs.PF
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
Parallelizing the Unpacking and Clustering of Detector Data for Reconstruction of Charged Particle Tracks on Multi-core CPUs and Many-core GPUs
我们提出的结果从并行化的解包和聚类步骤的原始数据从硅带模块重建带电粒子轨道。通过在CPU上使用嵌套的OpenMP并行性或在GPU上使用CUDA流来并发处理多个事件,吞吐量得到进一步改进。新的实现以及早期的工作,在开发一个并行化和矢量化的组合卡尔曼滤波器算法的实现,使整个事件的有效的全球重建现代计算机架构。我们展示了在英特尔至强和NVIDIA GPU架构上的新实现的性能。
2021-01-27 cs.DC hep-ex
Verified Instruction-Level Energy Consumption Measurement for NVIDIA GPUs
GPU在所有规模的现代计算系统中普遍存在。它们消耗了这些系统中的很大一部分能量。然而,供应商没有公布其内部微架构的功率/能量开销的实际成本。在本文中,我们准确地测量了现代NVIDIA GPU中各种PTX指令的能耗。我们提供了一个详尽的比较,超过40个指令的四个高端NVIDIA GPU从四个不同的世代(麦克斯韦,帕斯卡,伏打和图灵)。此外,我们展示了CUDA编译器优化对每条指令的能耗的影响。我们使用三种不同的软件技术来读取GPU片上功率传感器,这些传感器使用NVIDIA的NVML API,并对这些技术进行了深入的比较。此外,我们还根据定制设计的硬件功率测量验证了软件测量技术。结果表明,对于不同类别的指令,Volta GPU具有所有其他代的最佳能效。这项工作应该有助于理解NVIDIA GPU的微架构。它还应该使任何GPU内核的能量测量既有效又准确。
2020-06-02 cs.DC cs.PF
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
Methods for compressible fluid simulation on GPUs using high-order finite differences
我们专注于实施和优化六阶有限差分求解器,用于在GPU上使用三阶龙格库塔积分来模拟可压缩流体。由于图形处理单元在数据并行任务中表现良好,这使得它们成为流体模拟的有吸引力的平台。然而,高阶模板计算相对于GPU的主存储器和高速缓存都是存储器密集型的。我们提出了两种方法来模拟可压缩流体使用55点和19点的stenetrance。我们试图减少内存带宽和缓存大小的要求,在我们的方法,通过使用缓存块和分解成几个带宽绑定内核的延迟绑定内核。我们最快的实施方案受带宽限制,并在Tesla K40 t GPU上每秒集成$343$百万网格点,与基于两个英特尔至强E5- 2690 v3处理器的同类流体动力学求解器相比,实现了$3.6 \times$加速。我们的替代GPU实现是延迟受限的,并实现每秒$168$百万次更新的速率。
2017-07-27 astro-ph.IM cs.DC physics.comp-ph
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
LLaMCAT: Optimizing Large Language Model Inference with Cache Arbitration and Throttling
The Hong Kong University of Science and Technology(香港科技大学)
LLaMCAT通过缓存仲裁和限流技术优化大语言模型推理,实现1.26-1.58倍速度提升,填补LLM解码特定MSHR竞争的空白。
2025-11-26 cs.AR cs.DC
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