Graphics Processing Units (GPUs) are now powerful and flexible systems adapted and used for other purposes than graphics calculations (General Purpose computation on GPU -- GPGPU). We present here a prototype to be integrated into simulation codes that estimate temperature, velocity and pressure to design next generations of solar receptors. Such codes will delegate to our contribution on GPUs the computation of heat transfers due to radiations. We use Monte-Carlo line-by-line ray-tracing through finite volumes. This means data-parallel arithmetic transformations on large data structures. Our prototype is inspired on the source code of GPUBench. Our performances on two recent graphics cards (Nvidia 7800GTX and ATI RX1800XL) show some speed-up higher than 400 compared to CPU implementations leaving most of CPU computing resources available. As there were some questions pending about the accuracy of the operators implemented in GPUs, we start this report with a survey and some contributed tests on the various floating point units available on GPUs.
High-Throughput Transaction Executions on Graphics Processors
联机事务处理(OLTP)是各种传统和新兴在线服务中的重要业务系统部分。由于用户数量的不断增加,OLTP系统需要高吞吐量,以便在短时间内执行数万个事务。受GPGPU(通用计算图形处理器)最近的成功,我们提出了GPUTx,一个OLTP引擎执行高吞吐量的事务执行的GPU内存中的数据库。与现有的GPGPU研究通常优化单个任务相比,事务执行需要同时处理许多小任务。具体来说,我们提出了批量执行模型,将多个事务分组为批量,并将批量作为单个任务在GPU上执行。批量内的事务在GPU上并发执行。本文研究了三种基本的执行策略(一种带锁,另两种无锁),并结合GPU对原子操作的硬件支持、大规模线程并行性和SPMD(Single Program Multiple Data)执行等特性对它们进行了优化。我们评估GPUTx在最新的NVIDIA GPU上与其在四核CPU上的对应物进行比较。我们的实验结果表明,GPUTx上的优化显着提高吞吐量,优化后的GPUTx达到4-10倍的吞吐量比其基于CPU的同行在公共事务处理基准测试。
A unified sparse matrix data format for efficient general sparse matrix-vector multiply on modern processors with wide SIMD units
稀疏矩阵向量乘法(spMVM)是许多数值算法中最耗时的核心,在所有现代处理器和加速器架构上都得到了广泛的研究。然而,最佳稀疏矩阵数据存储格式是高度硬件特定的,这可能成为使用异构系统时的障碍。此外,目前还不清楚如何在当前多核和众核处理器中最有效地使用宽单指令多数据(SIMD)单元,如果矩阵的稀疏模式中没有结构。我们建议SELL-C-sigma,切片ELLPACK的变体,作为一种SIMD友好的数据格式,它结合了通用图形处理单元(GPGPU)和矢量计算机编程的长期思想。我们讨论了SELL-C-sigma与压缩行存储(CRS)和ELLPACK等已建立的格式相比的优势,并展示了其在各种硬件平台(英特尔Sandy Bridge、英特尔至强融核和Nvidia Tesla K20)上的适用性,用于不同应用领域的各种测试矩阵。使用适当的性能模型,我们深入了解SELL-C-sigma spMVM内核的数据传输特性。SELL-C-sigma带有两个调整参数,研究了它们在测试矩阵范围内的性能影响,并提出了合理的选择。这导致了一种独立于硬件的(“全捕获”)稀疏矩阵格式,其对于跨所有硬件平台的所有测试矩阵实现了非常高的效率。