Skip to main content
QUICK REVIEW

[论文解读] Benchmarking and Implementation of Probability-Based Simulations on Programmable Graphics Cards

Stanimire Tomov, Michael McGuigan|arXiv (Cornell University)|Dec 2, 2003
Theoretical and Computational Physics参考文献 6被引用 7
一句话总结

本文展示了可编程GPU(特别是NV30)可通过利用其高吞吐量浮点运算,高效加速基于概率的模拟(如伊辛模型和渗透模型)。作者实现了理论峰值性能的44%,与2.8 GHz奔腾4处理器性能相当,使GPU成为基于晶格的数值模拟(尤其在避免条件分支的情况下通过算法重构)的可行协处理器,速度提升可达6倍。

ABSTRACT

The latest Graphics Processing Units (GPUs) are reported to reach up to 200 billion floating point operations per second (200 Gflops) and to have price performance of 0.1 cents per M flop. These facts raise great interest in the plausibility of extending the GPUs' use to non-graphics applications, in particular numerical simulations on structured grids (lattice). We review previous work on using GPUs for non-graphics applications, implement probability-based simulations on the GPU, namely the Ising and percolation models, implement vector operation benchmarks for the GPU, and finally compare the CPU's and GPU's performance. A general conclusion from the results obtained is that moving computations from the CPU to the GPU is feasible, yielding good time and price performance, for certain lattice computations. Preliminary results also show that it is feasible to use them in parallel

研究动机与目标

  • 评估将可编程GPU作为结构化网格上数值模拟协处理器的可行性。
  • 使用向量运算和基于概率的模型,对NV30 GPU的浮点性能进行基准测试。
  • 比较GPU与CPU在基于晶格的模拟中的性能,重点关注32位浮点数运算。
  • 探索通过消除片段程序中的条件分支来优化性能的策略,以提升GPU性能。
  • 评估大规模模拟中CPU与GPU之间的可扩展性及通信开销。

提出的方法

  • 使用片段着色器和Cg高级语言在GPU上实现伊辛模型和渗透模型。
  • 使用向量运算作为基准,测量NV30 GPU上的原始浮点吞吐量。
  • 通过帧率和通信速率(使用glReadPixels、glDrawPixels和glTexSubImage2D函数)测量性能。
  • 通过双晶格执行方式重构棋盘格晶格更新模式,避免片段程序中的条件if/else语句。
  • 通过不同晶格尺寸评估CPU-GPU数据传输速率,以识别通信瓶颈。
  • 分析精度(32位浮点数)和硬件限制(如不支持分支)对性能的影响。

实验结果

研究问题

  • RQ1与CPU相比,可编程GPU在32位浮点数晶格模拟中能否实现具有竞争力的性能?
  • RQ2在运行伊辛和渗透等基于概率的模型时,NV30 GPU的实际浮点性能如何?
  • RQ3片段程序中缺乏分支如何影响性能?通过算法重构能否缓解此问题?
  • RQ4大规模模拟中,CPU与GPU之间的通信带宽需求是多少?
  • RQ5GPU在数值模拟中能多大程度上超越CPU?在何种条件下实现?

主要发现

  • NV30 GPU在向量运算上达到7 Gflops/s,占其理论峰值性能的44%。
  • 在2.8 GHz奔腾4处理器上,GPU实现的伊辛模型和渗透模型运行速度比CPU快2至6倍,具体取决于应用。
  • 通过双晶格方法避免片段程序中的条件分支,可实现额外2倍的性能提升。
  • 通过AGP 8x总线(2.1 GB/s)进行CPU-GPU通信时,对于最大512×512的晶格尺寸,通信未成为瓶颈,写入带宽达350 MB/s。
  • 仅在低精度计算中观察到GPU相比CPU有约一个数量级的加速;32位浮点数模拟的性能与CPU相当或略优。
  • GPU的性能增长速率超过CPU,表明在通用GPU计算方面具有长期优势。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。