GPU Tensor Cores for fast Arithmetic Reductions
这项工作提出了一种GPU张量核心的方法,编码的算术减少$n$号码作为一组链式$m \times m$矩阵乘累加(MMA)的操作并行执行的GPU张量核心。所提出的链式张量核方法的渐近运行时间为$T(n)=5 log_{m^2}{n}$,其加速比为$S=\dfrac{4}{5} log_{2}{m^2}$,优于经典的$O(n \log n)$并行约简算法.实验结果表明,该方法比传统的GPU约简方法具有更快的$\sim 3.2 \times$速度,并且由于每个$R$ MMA链的子结果在全部约简为最终32位结果之前都保持为32位浮点值,因此保持了数值精度。链式MMA设计允许灵活配置线程块; 32或128个线程的小线程块仍然可以使用每个块的$R=4,5$ MMA链来实现最大性能,而大线程块使用$R=1$效果最佳。在这项工作中获得的结果表明,张量核确实可以为非机器学习应用提供显着的性能改进,例如算术约简,这是研究许多科学现象的集成工具。
2020-01-15 cs.DC
Thread-safe lattice Boltzmann for high-performance computing on GPUs
本文提出基于Hermite投影重构碰撞后分布的线程安全格子玻尔兹曼方法,在GPU上实现二维和三维峰值性能并显著降低数十亿节点模拟的内存占用。
2023-04-13 cs.DC physics.flu-dyn
AGILE: Lightweight and Efficient Asynchronous GPU-SSD Integration
针对GPU内存不足及现有GPU-centric同步I/O导致线程停滞的问题,提出AGILE轻量级异步I/O库,通过消除死锁风险、集成HBM软件缓存及重叠计算与I/O,在多类工作负载上实现显著性能提升与开销降低。
2025-08-26 cs.DC
Potential benefits of a block-space GPU approach for discrete tetrahedral domains
数据并行域重组和线程映射技术的研究是相关的主题,因为它们可以提高GPU计算的效率时,工作在空间离散域与非盒形几何。在这项工作中,我们研究了应用一个简洁的数据重组的四面体数据并行域的大小$\mathcal{O}(n^3)$结合一个有效的块空间GPU地图的形式$g:\mathbb{N} \rightarrow \mathbb{N}^3$的潜在好处。分析结果表明,理论上,这两种优化的组合产生显著的性能改进,因为基于块的数据重新组织允许在本地线程空间处合并一对一的对应关系,而$g(λ)$在数据组和线程组之间产生有效的块空间对应关系,减少从$O(n^3)$到$O(n^2ρ^3)$的不必要线程的数量,其中$ρ$是线性块大小,并且通常是$ρ^3 \ll n$。从分析中,我们得到,基于块的简洁的数据重组可以提供高达$2\times$的线性数据组织的改进的性能,而地图可以高达$6\times$比边界框的方法更有效。这项工作的结果可以作为一个有用的指导,更有效的GPU计算的四面体域中发现的自旋晶格,有限元和特殊的n体问题,等等。
2016-06-28 cs.DC
Byzantine-linearizable Single-Writer Multi-Reader Register in the GPU-Inspired Shared Memory Model
University of Cyprus(塞浦路斯大学);IIT Hyderabad(海德拉巴印度理工学院)
该研究在GPU启发式共享内存模型中,针对任意线程可能表现拜占庭行为的问题,实现了两种拜占庭线性化SWMR寄存器,利用GPU锁步执行弥补访问控制缺失,为分布式容错寄存器提供了新方案。
2026-10-14 cs.DC
MPIX Stream: An Explicit Solution to Hybrid MPI+X Programming
混合MPI+X编程范式,其中X指的是线程或GPU,在高性能计算领域获得了突出地位。这与系统架构变得更加异构的趋势相对应。当前的MPI标准只指定了MPI和线程运行时之间的兼容性级别。应用程序不存在MPI概念或接口来显式地将线程上下文或GPU流上下文传递给MPI实现。这种缺乏使得性能优化在某些情况下变得复杂,在其他情况下变得不可能。我们在MPI中提出了一个新的概念,称为MPIX流,来表示X运行时中存在的一般串行执行上下文。MPIX流可以直接映射到线程或GPU执行流。将线程上下文传递到MPI允许实现将执行上下文精确地映射到网络端点。将GPU执行上下文传递到MPI允许实现直接对GPU流进行操作,从而降低CPU/GPU同步成本。
2022-08-30 cs.DC cs.PF
Leveraging Mathematical Reasoning of LLMs for Efficient GPU Thread Mapping
Universidad Austral de Chile(智利南方大学);Instituto de Informática, Universidad Austral de Chile(智利南方大学计算机研究所)
本文提出利用大语言模型的符号推理自动化GPU非矩形域线程映射,通过上下文学习推导出精确的O(1)和O(log N)映射方程,显著优于传统符号回归方法,实现高效能资源优化。
2026-04-14 cs.DC
Warp-Level Parallelism: Enabling Multiple Replications In Parallel on GPU
随机模拟需要多次重复,以建立其结果的置信区间。即使我们不需要大量的复制,使用多个并行复制(MRIP)方法来加快整个模拟时间也是一个很好的做法。这种方法通常假设可以访问并行计算机,例如对称多处理机(具有许多核心),计算集群或计算网格。在本文中,我们提出了Warp-Level并行化(WLP),这是一种支持GP-GPU的解决方案,用于在GP-GPU(通用图形处理单元)上计算MRIP。这些设备以低成本显示出大量的并行计算能力,但经过调整,可以通过不同的线程有效地处理多个数据上的相同操作。实际上,这种范例被称为单指令多线程(SIMT)。我们的方法建议依赖于小线程组,称为线程束,执行独立的计算,如复制。我们用三种不同的模型对WLP进行了基准测试:它允许MRIP的计算速度比SIMT计算模式快六倍。
2015-01-07 cs.DC
Accelerating Maximal Biclique Enumeration on GPUs
针对极大双团枚举在大规模图上计算效率低的问题,提出基于GPU优化的cuMBE算法,通过紧凑数组、混合并行、细粒度优化与工作窃取机制实现显著加速。
2025-05-22 cs.DC
Modular GPU Programming with Typed Perspectives
针对GPU编程中线程级控制与集体操作协同的冲突导致模块化代码易出错的问题,提出带类型化视角的GPU语言Prism,可在不损失性能的前提下保障模块化编程的安全性。
2025-11-14 cs.DC cs.PL
VaultxGPU: GPU-Accelerated Blockchain Consensus
College of Computing Illinois Institute of Technology Chicago, USA
提出VaultxGPU,利用GPU加速Blake3哈希流水线,实现Proof-of-Space绘图速度比单线程CPU提升59.2倍,K=31绘图仅需45.4秒。
2026-06-15 cs.DC
Dynamic Load Balancing in GPU-Based Systems - Early Experiments
Charm++/AMPI中的动态负载平衡框架由伊利诺伊大学开发,基于使用处理器虚拟化来允许跨处理器的线程迁移。这个框架在过去已经成功地应用于许多科学应用,如BRAMS,NAMD,ChaNGa等。这些应用程序中的大多数仅使用CPU来执行其操作。然而,使用GPU来提高计算性能正在高性能计算社区中迅速得到大规模传播。本文旨在研究如何扩展相同的Charm++/AMPI框架,以平衡受BRAMS数值预报模型启发的合成应用程序中的负载,该应用程序主要运行在GPU上而不是CPU上。在这项工作中处理了许多涉及使用GPU与AMPI的主要问题,包括:如何测量GPU的负载,如何在用户级线程之间使用和共享GPU,以及将强制过度分解技术应用于GPU加速程序时会获得什么结果。
2013-10-15 cs.DC
Block-Parallel IDA* for GPUs (Extended Manuscript)
Graduate School of Arts and Sciences(艺术与科学研究生院);The University of Tokyo(东京大学)
我们研究了基于GPU的迭代深化A*(IDA*)的并行化。我们表明,简单的基于线程的并行化技术,以前提出的大规模并行SIMD处理器执行不佳,由于翘曲发散和负载不平衡。我们提出了块并行IDA*(BPIDA*),它将子树的搜索分配给块(一组可以访问快速共享内存的线程)而不是线程。在15-puzzle上,与在Xeon E5-2670内核上高度优化的顺序IDA* 实现相比,在具有1536个CUDA内核的NVIDIA GRID K520上的BPIDA* 实现了4.98的加速比。
2017-05-08 cs.AI cs.DC
A Fast and Generic GPU-Based Parallel Reduction Implementation
归约运算广泛应用于许多计算问题中。约简包括,给定一个有限的数值元素集,将该集合中的所有元素组合成单个值,为此使用组合器函数。并行归约又是当多个执行单元可用时并发执行的归约操作。目前的工作报告的调查就这个问题,并描绘了一个基于GPU的并行方法为it.Employing技术,如循环展开,持久线程和代数表达式,以避免线程发散,所提出的方法是能够实现2.8倍的加速时相比,卡坦扎罗的工作,使用一个通用的,简单的,易于移植的代码。实验结果表明,该策略在AMD和NVidia的硬件环境下,以及OpenCL和CUDA环境下都能有效地执行。
2017-10-19 cs.DC
Linear Run Time of Persistent Homology Computation with GPU Parallelization
持久同源性是一个重要的不变量,在许多领域都用于理解数据。$O(N^4)$运行时间是它在大多数大型数据集上使用的一个障碍。我们给出了一种利用多核机器和集群的并行化方法。我们实现了$0^{th}$持久同源性的计算与OpenMP并行化,并观察到1.75倍的性能提高,使用2个线程的双核机器上。我们还基准的计算使用大量的线程,并表明线程的计算开销降低性能。通过GPU并行化,我们通过分析和经验将运行时间从$O(N^4)$扩展到$O(N^3)$,甚至是$O(N^2)$,其中$N$是足够大的GPU的数据点数量。接下来,我们分析显示运行时间缩放$O(N)$甚至更大的GPU。
2022-03-08 cs.DC math.AT
HiRace: Accurate and Fast Source-Level Race Checking of GPU Programs
提出HiRace,一种GPU程序源码级动态数据竞争检测工具,通过并行有限状态机压缩访问历史,在580个CUDA内核上实现零误报检测,平均速度提升10倍且内存开销减半。
2024-01-09 cs.DC
Optimized thread-block arrangement in a GPU implementation of a linear solver for atmospheric chemistry mechanisms
本研究提出Block-cells方法优化GPU上大气化学线性求解器的线程块排列,实现35倍加速,并比40核CPU快50%。
2024-05-27 cs.AR cs.DC cs.PF
Block-space GPU Mapping for Embedded Sierpiński Gasket Fractals
研究了嵌入到$n \times n$的离散欧氏空间中的Sierpienski垫片分形的GPU线程映射问题。提出了一种块空间映射$λ: \mathbb{Z}_{\mathbb{E}}^{2} \mapsto \mathbb{Z}_{\mathbb{F}}^{2}$,从欧几里得并行空间$\mathbb{E}$映射到嵌入分形空间$\mathbb{F}$,该映射在$\mathcal{O}(\log_2 \log_2(n))$时间内完成,使用的线程不超过$\mathcal{O}(n^\mathbb{H})$线程,其中$\mathbb{H} \approx 1.58...$是Hausdorff维数,使其具有并行空间效率。与边界框映射相比,$λ(ω)$在并行空间中提供了次指数级的改进,并且在$n > n_0$之后提供了单调增加的加速比。实验性能测试表明,在实践中,$λ(ω)$可以产生任何块大小的性能提高一次$n > n_0 = 2^8$,达到约$10\times$的$n=2^{16}$在最佳块配置的加速比。
2017-06-14 cs.DC
Improving the GPU space of computation under triangular domain problems
在GPU计算流水线中有一个阶段,其中线程块的网格被映射到问题域。通常,这个网格是一个k维限界框,它覆盖了k维问题,而不管它的形状如何。属于问题域的线程执行计算,否则它们将在运行时被丢弃。对于非正方形几何的问题,这并不总是最好的主意,因为部分计算空间的执行没有任何实际用途。二维的三角域问题,别名td问题,是一个特殊的情况下的利益。欧氏距离映射、LU分解、碰撞检测和三角形区域上的模拟等问题都是TD-问题,它们经常出现在许多科学领域中。在这项工作中,我们提出了一个改进的GPU映射函数g(lambda),它将任何lambda块映射到三角域中的唯一位置(i,j)。该映射基于下三角矩阵的属性,并且它在块级别工作,因此不会损害块内的线程组织。使用g(lambda)的理论改进是上界的,因为I < 2,并且浪费的块的数量从O(n^2)减少到O(n)。我们比较我们的策略与其他提出的方法;上三角映射(UTM),矩形框(RB)和递归分区(REC)。我们在Nvidias Kepler GPU架构上的实验结果表明,g(lambda)比限界框(BB)策略快12%到15%。与其他策略相比,我们的映射运行速度明显快于UTM,在实际使用中与RB一样快,其优点是线程组织不会像RB那样受到影响。这项工作也有助于提出,第一次,公平比较所有现有的策略在相同的硬件下运行相同的实验。
2013-08-06 cs.AR cs.DC
Sparse MTTKRP Acceleration for Tensor Decomposition on GPU
针对稀疏张量分解瓶颈spMTTKRP,提出基于GPU的算法设计,通过消除线程块全局原子操作、减少中间值内存传输、均衡负载及支持动态张量重映射,实现显著加速,且是唯一支持模式数大于4张量的GPU实现。
2024-05-14 cs.AR cs.DC
Fast and Scalable Sparse Triangular Solver for Multi-GPU Based HPC Architectures
在现代基于多GPU的HPC系统上设计高效且可扩展的稀疏线性代数内核是一项艰巨的任务,这是由于GPU之间存在显著的不规则内存引用和工作负载不平衡。对于稀疏三角形求解器(SpTRSV)来说尤其如此,SpTRSV在后续计算步骤中引入了额外的二维计算依赖性。依赖信息在GPU之间交换和共享,从而保证高效的内存分配,数据分区和工作负载分配以及细粒度的通信和同步支持。在这项工作中,我们证明了直接采用统一内存会对SpTRSV在多GPU架构上的性能产生不利影响,尽管通过NVLinks和NVSwitches等快速互连进行链接。另外,我们采用最新的NVSHMEM技术的分区全局地址空间编程模型的基础上,使有效的细粒度通信和大幅减少同步开销。此外,为了处理工作负载不平衡,我们提出了一个可延展的任务池执行模型,可以进一步提高GPU的利用率。通过应用这些技术,我们在NVIDIA多GPU超级节点V100-DGX-1和DGX-2系统上的实验表明,我们的设计可以实现平均3.53倍(高达9.86倍)的DGX-1系统上的加速比和3.66倍(高达9.64倍)的DGX-2系统上的4个GPU的统一内存设计。全面的灵敏度和可扩展性研究也表明,提出的零拷贝SpTRSV是能够充分利用多GPU系统的计算和通信资源。
2020-12-13 cs.AR cs.DC
Bit-level Parallelization of 3DES Encryption on GPU
三重DES(3DES)是一种标准的基本加密算法,用于多种电子支付应用程序和Web浏览器。在本文中,我们提出了一个并行实现的3DES在GPU上。由于3DES使用64位块加密数据,因此我们的方法将每个64位块视为内核块,并分配一个单独的线程来处理每个位。算法的置换操作、XOR操作和S盒操作在这些内核块内并行完成。该实现得益于使用常量和共享内存类型来优化内存访问。结果显示,与基准多线程CPU实现相比,平均速度提高了10.70倍。该实现可在https://github.com/kaanfurkan35/3DES_GPU上公开获取
2020-07-21 cs.CR cs.DC
cuPSO: GPU Parallelization for Particle Swarm Optimization Algorithms
本文提出cuPSO算法,利用原子函数和异步线程组缓解GPU上粒子群优化中归约方法的内存访问与同步开销,在Nvidia GPU上比CPU串行快约200倍,比并行归约方法快2.2倍。
2023-12-03 cs.DC cs.PF
GTaP: A GPU-Resident Fork-Join Task-Parallel System with a Pragma-Based Interface
The University of Tokyo(东京大学)
GTaP 是一种 GPU 常驻的 fork-join 任务并行运行时,通过 pragma 基于接口实现任务并行,支持线程块和单个线程两种工作粒度,采用持续内核模型和工作窃取机制,提升 GPU 上 fork-join 任务并行效率。
2026-08-25 cs.DC
Hierarchical Block Multi-Color Ordering: A New Parallel Ordering Method for Vectorization and Parallelization of the Sparse Triangular Solver in the ICCG Method
本文提出了一种新的并行排序方法来实现稀疏三角形求解器的矢量化和并行化,称为层次块多色排序。在该方法中,并行的向前和向后替换可以被矢量化,同时保留块多色排序的优点,即快速收敛和较少的线程同步。为了在并行ICCG(不完全乔列斯基共轭梯度)求解器中评估所提出的方法,使用五个测试矩阵在三种类型的计算节点上进行了数值测试。数值结果表明,在15个测试用例中,有13个测试用例的性能优于传统的分块和节点多色排序方法,验证了该方法的有效性。
2019-08-02 cs.DC
A Scalable and Energy Efficient GPU Thread Map for m-Simplex Domains
这项工作提出了一个新的GPU线程映射的$m$ -单纯形域,缩放其加速与尺寸和能源效率相比,其他国家的最先进的方法。这项工作的主要贡献是:i)制定新的块空间映射$\mathcal{H}: \mathbb{Z}^m \mapsto \mathbb{Z}^m$的规则正交单形域,这是分析的资源使用方面,和ii)的实验评估加速超过边界框的方法和能源效率的元素每秒每瓦。分析结果表明,对于$2$和$3$ -单纯形,$\mathcal{H}$具有分别高达$2\times$和$6\times$的潜在加速比。实验评估表明,$\mathcal{H}$是有竞争力的$2$ -简单,达到$1.2\times \sim 2.0\times$的加速不同的测试,这是最快的国家的最先进的方法。对于$3$ -simplices,$\mathcal{H}$达到了$1.3\times \sim 6.0\times$的加速,使其成为所有加速器中最快的。将$\mathcal{H}$扩展到更高维的$m$ -单纯形是可行的,并且具有潜在的加速比,该加速比在适当选择参数$r, β$(分别是缩放因子和复制因子)的情况下缩放为$m!$。在能耗方面,虽然$\mathcal{H}$是功耗最高的方法之一,但它的持续时间短,因此是最节能的方法之一。最后,分析了张量和光线跟踪核心的进一步改进,为利用其中每一个提供了见解。在这项工作中获得的结果表明…
2022-09-12 cs.DC cs.DM
Designing and Prototyping Extensions to MPI in MPICH
针对MPI标准对异构架构混合编程支持不足的问题,在MPICH中实现六项扩展,增强MPI与OpenMP等运行时的互操作性及线程与GPU感知能力,提升HPC应用性能。
2024-02-19 cs.DC
Mixed-Precision Performance Portability of FFT-Based GPU-Accelerated Algorithms for Block-Triangular Toeplitz Matrices
本研究针对HPC硬件多样性与低精度GPU性能优势,提出基于hipify的性能可移植框架与动态混合精度方案,将原仅支持CUDA的FFTMatvec移植到AMD GPU并优化,在多款AMD GPU及Frontier超算4096块GPU上验证了效果。
2025-10-02 cs.DC cs.NA cs.PF
An Adaptive Load Balancer For Graph Analytical Applications on GPUs
图形分析工作负载的GPU线程之间的负载平衡是困难的,因为图形应用程序的不规则性和顶点度的高度可变性,特别是在幂律图中。我们描述了一种新的负载均衡计划来解决这个问题。我们的计划是在IrGL编译器中实现的,允许用户从高级顺序程序中为GPU生成高效的负载平衡代码。我们评估了多达16个分布式GPU上的几个图形分析应用程序,使用IrGL来编译代码,并使用Gluon基板进行GPU间通信。我们的实验表明,该计划可以实现平均速度提高2.2倍的输入,遭受严重的负载不平衡问题时,以前的国家的最先进的负载平衡计划使用。
2020-02-27 cs.DC
A (Somewhat Dated) Comparative Study of Betweenness Centrality Algorithms on GPU
计算介数中心性(BC)的问题是很重要的分析图在许多实际应用中,如社交网络,生物网络,交通网络,电路等,因为这个问题是计算密集型,研究人员一直在开发算法,使用高性能的计算资源,如超级计算机,集群,图形处理单元(GPU)。当前用于计算BC的GPU算法采用Brandes的顺序算法,对于线程调度、数据结构和原子操作具有不同的折衷。在本文中,我们研究了三个GPU算法计算BC的未加权,有向,无标度网络。我们讨论和衡量他们的平衡线程调度,原子操作,同步和延迟隐藏的设计选择的权衡。我们的程序是用NVIDIA CUDA C编写的,并在NVIDIA Tesla M2050 GPU上测试。
2014-09-27 cs.DC cs.DS cs.SI
ParaWeb: Parallel Programming Patterns for Web Development
Blekinge Institute of Technology(布莱金厄理工学院)
本文提出TypeScript库ParaWeb,为Web开发实现十种并行编程模式,含三种变体,实验显示其CPU变体最高加速11.6倍、GPU变体最高达414倍加速,性能优异。
2026-08-21 cs.DC
Challenging GPU Dominance: When CPUs Outperform for On-Device LLM Inference
Texas A&M University(德克萨斯大学)
本文在 iPhone 15 Pro 上用 llama.cpp 实测 10 亿参数 LLM,证明双线程 F16 的纯 CPU 推理可达 17 tokens/s,高于 GPU 的 12.8 tokens/s,并分析内存传输、线程与量化等因素。
2025-05-09 cs.DC cs.LG
Efficient Domain Decomposition for the Helmholtz Equation on GPUs
Virginia Tech(弗吉尼亚理工大学)
针对GPU架构,提出块级区域分解与WaveHoltz子域求解器,通过消除同步、优化缓存利用,在A100上实现2-25倍加速。
2026-06-23 cs.DC cs.NA math.NA
Two-Dimensional Batch Linear Programming on the GPU
本文提出了一种新的,高性能的,图形处理单元为基础的算法,有效地解决二维的【形】线性规划的批量。二维的【形】线性规划的域是特别有用的,由于相关的几何问题的流行。批处理线性规划是指在一个操作中解决许多不同的线性规划。通过同时求解多个线性程序并在线程间均匀分配工作负载,可以最大化图形处理单元的利用率。对最先进的图形处理单元和CPU线性程序求解器,分别获得超过22倍和63倍的加速比。
2019-02-13 cs.DC
GPU accelerated spectral finite elements on all-hex meshes
Rice University(莱斯大学);Université catholique de Louvain, Institute of Mechanics, Materials and Civil Engineering (iMMC)(天主教鲁汶大学,力学、材料与民用工程学院)
本文提出一种高效的谱有限元方案,用于求解无结构六面体网格中的椭圆问题,采用矩阵自由预条件共轭梯度算法,并利用可扩展的多线程编程API实现GPU和CPU的动态选择。
2015-06-19 cs.CE cs.DC cs.NA
Study and evaluation of an Irregular Graph Algorithm on Multicore and GPU Processor Architectures
不规则应用是对片上多处理器(CMP)的性能可扩展性提出重大挑战的计算应用领域之一。这样的应用程序具有非常少的计算和不可预测的存储器访问模式,使得它们与计算受限的应用程序相比是内存受限的。由于处理器和存储器性能之间的差距继续存在,难以隐藏和减少这种差距是导致这些应用程序在CMP上性能不佳的重要因素之一。本论文的目标是克服许多这样的挑战,在性能加速的不规则图算法称为三元组普查。我们在两种截然不同的芯片多处理器上加速了Triad Census算法:双插槽英特尔至强多核(每个插槽8个硬件线程)和240处理器内核的NVIDIA Tesla C1060 GPGPU(每个内核128个硬件线程)。在英特尔多核至强系统上获得的实验结果显示,对于真实世界的图形数据集,性能加速(相对于基线顺序)最大为56倍,平均为33倍,最小为8.3倍。在NVIDIA Tesla C1060 GPGPU上,我们能够几乎平等地匹配多核结果-58.4倍最大,32.8倍平均和4.2倍最小加速比相对于基线序列。在原始性能方面,对于称为Patents网络的图形数据集,我们在英特尔至强多核(16 hw线程)上的结果比之前在Cray XMT(16 hw线程)上的结果快1.27倍,而在GPGPU上实现的结果相对较慢(0.72倍)。据我们所知,该算法只在超级计算机级计算机Cray XMT上进行了加速,并且没有工作证明该算法在相对较低成本…
2016-03-08 cs.DC cs.PF
Toward Portable GPU Performance: Julia Recursive Implementation of TRMM and TRSM
本文针对GPU重构TRMM和TRSM为以GEMM为主的递归实现,利用Julia特性与相关框架提供跨NVIDIA、AMD、Apple Silicon GPU的统一API,大型矩阵性能接近厂商库且首次支持Apple Silicon,实现高效可移植性。
2025-04-18 cs.DC cs.MS
GPU-Based Parallel Integration of Large Numbers of Independent ODE Systems
集成大量独立的ODE系统的任务出现在各种科学和工程领域。对于非刚性系统,可以在GPU上使用常见的显式积分算法,其中各个GPU线程并发地积分具有不同初始条件或参数的独立ODE。一个示例是五阶自适应龙格-库塔-卡什-卡普(RKCK)算法。在刚性常微分方程的情况下,标准的显式算法需要不切实际的小的时间步长的稳定性的原因,和隐式算法,因此,通常使用,而不是允许更大的时间步长和减少计算费用。然而,基于向后微分公式的典型高阶隐式算法(例如,VODE、LSODE)涉及复杂的逻辑流,在GPU上实现时会导致严重的线程发散,从而限制了性能。因此,需要替代算法。基于GPU的Runge-Kutta-Chebyshev(RKC)算法可以处理中等水平的刚度,并且不仅比等效的CPU版本而且比基于CPU的隐式算法(VODE)执行得更快。在本章中,我们将介绍RKCK和RKC算法的数学背景、实现细节和源代码,这些算法用于在GPU上集成大量独立的常微分方程系统。此外,每个算法的简要性能比较,展示了移动到基于GPU的ODE集成器的潜在好处。
2016-11-06 cs.DC cs.MS physics.comp-ph
Parallel K-Clique Counting on GPUs
图中k-团的计数是图分析中的一个重要问题,在社区发现和图划分等方面有着广泛的应用。计数k-团通常通过从图中的每个顶点开始遍历搜索树来完成。在CPU上已经对k团计数进行了充分的研究,并且存在许多解决方案。然而,对于GPU上的k团计数,没有高性能的解决方案。在GPU上优化k团计数带来了许多挑战,例如需要提取细粒度多级并行性,对负载不平衡的敏感性以及受限的物理内存容量。虽然已经有相关问题的工作,如寻找最大团和GPU上的广义子图匹配,特别是k-团计数尚未深入探讨。在本文中,我们提出了第一个专门用于k团计数问题的并行GPU解决方案。我们的解决方案支持图方向和旋转消除冗余团发现。它结合了以顶点为中心和以边缘为中心的并行化方案,用于跨线程块分配工作,并在每个线程块内进一步分区工作,以提取细粒度的多级并行性,同时容忍负载不平衡。它还包括优化,如诱导子图的二进制编码和子扭曲分区,以限制内存消耗并提高执行资源的利用率。我们的评估表明,我们最好的GPU实现优于最先进的并行CPU实现的几何平均值为12.39倍,6.21倍,18.99倍,k=4,7和10,分别。我们还进行了详细的评估,在选择并行化方案中所涉及的权衡,以及每个优化的增量加速,以提供对优化空间的深入了解。...
2022-06-06 cs.DC cs.DS
JZ-Tree: GPU friendly neighbour search and friends-of-friends with dual tree walks in JAX plus CUDA
University of Vienna(维也纳大学)
本文提出一种针对GPU架构的Morton(z-order)平面树层级结构,实现高效的双树遍历,显著提升大规模问题的性能,支持多GPU分布式计算。
2026-04-07 astro-ph.CO cs.DC physics.comp-ph
Optimized Password Recovery for Encrypted RAR on GPUs
RAR使用经典的对称加密算法SHA-1哈希和AES算法进行加密,密码恢复的唯一方法是暴力破解,非常耗时。在本文中,我们提出了一种使用GPU来加快密码恢复过程的方法。但由于SHA-1哈希算法中计算量大、耗时长的部分很难并行化,因此本文采用粗粒度并行。也就是说,一个GPU线程负责验证一个密码。我们主要使用了三种优化方法来优化这个并行版本:CPU和GPU之间的异步并行、冗余计算和条件语句减少以及寄存器使用优化。实验结果表明,在AMD FirePro W8000 GPU上,该算法的最终版本比在Intel Core i5 CPU上优化的串行版本的性能提高了43~57倍。
2015-05-28 cs.CR cs.DC
A Graph-based Model for GPU Caching Problems
由于GPU体系结构提供的大量并行性和复杂的数据共享模式,在GPU程序中建模数据共享是一项具有挑战性的任务。更好的GPU缓存效率可以通过不同线程之间的仔细任务调度来实现。传统上,在并行计算领域,图划分模型被用来建模数据通信和指导任务调度。然而,我们发现,以前的方法是不准确的或昂贵的应用时,GPU程序。在本文中,我们提出了一种新的任务划分模型,是准确的,并引起快速和高质量的任务/数据重组算法的发展。我们证明了所提出的模型的有效性,通过严格的理论分析的算法界限和广泛的实验分析。实验结果表明,它在一组有代表性的GPU应用程序中实现了显着的性能改善。
2016-05-06 cs.DC cs.PL
Development of Krylov and AMG linear solvers for large-scale sparse matrices on GPUs
本文介绍了我们在NVIDIA GPU上开发Krylov子空间和AMG求解器的工作。由于SpMV是这些迭代法的关键部分,本文实现了单GPU和多GPU的SpMV算法。建立了HEC矩阵格式和通信机制。设计了一套在并行环境下求解预条件方程组的具体算法,包括ILU(k)、RAS和并行三角形求解器。在此基础上,开发了几种Krylov求解器和AMG求解器。数值实验表明,在不同的参数条件下,Krylov求解器和AMG求解器都获得了良好的加速性能。
2016-06-02 cs.DC cs.MS
Exploration of Fine-Grained Parallelism for Load Balancing Eager K-truss on GPU and CPU
在这项工作中,我们提出了一个性能探索的渴望K-桁架,线性代数公式的K-桁架图算法。我们提出了一种细粒度的并行方法来执行支持计算,以解决对称,三角图的并行任务的负载不平衡的性能问题。这种方法还增加了可用的并行性,使其适合GPU执行。我们使用Kokkos中的实现演示了我们的细粒度并行方法,并在Intel Skylake CPU和Nvidia Tesla V100 GPU上对其进行了评估。总的来说,我们观察到1.261之间。由于我们的细粒度并行公式,CPU性能提高了48倍,GPU性能提高了9.97- 16.92倍。
2020-09-16 cs.DC cs.PF
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
A High-Throughput Solver for Marginalized Graph Kernels on GPU
Lawrence Berkeley National Laboratory(劳伦斯伯克利国家实验室)
我们提出了一个通用GPU上的线性求解器的设计和优化,用于对标记图之间的边缘化图内核进行高效和高吞吐量的评估。求解器实现了预处理共轭梯度(PCG)方法来计算与两个图的张量积相关的广义拉普拉斯方程的解。为了解决当前一代GPU的指令吞吐量和内存带宽之间的差距,我们的求解器在PCG中执行矩阵向量点积运算时,在不将其存储在内存中的情况下动态地形成张量积线性系统。这种动态计算是通过在线程束中使用线程来通过称为瓦片的小正方形矩阵块协作地流式传输各个图的邻接和边缘标签矩阵来实现的,然后将其分级在寄存器和共享存储器中以供以后重用。跨线程块的线程束可以经由共享存储器进一步共享区块以增加数据重用。我们利用稀疏的图形分层存储非空的瓷砖使用坐标格式和非零元素内的每个瓷砖使用位图。此外,我们提出了一个新的分区为基础的重新排序算法聚集的非零元素的图到更少,但更密集的瓦片,以提高效率的稀疏格式。我们对各种密度的图块的图张量积原语进行了广泛的理论分析,并评估了它们在合成和真实世界数据集上的性能。我们的求解器比现有的基于CPU的求解器(如GraKeL和GraphKernels)提供了三到四个数量级的加速。求解器的功能使基于内核的学习任务能够以前所未有的规模进行。
2020-02-25 cs.DC cs.LG cs.PF