是否有 CUDA-GPU 或 MPI-CPU+CUDA-GPU 的基准? [关闭]

Posted

技术标签:

【中文标题】是否有 CUDA-GPU 或 MPI-CPU+CUDA-GPU 的基准? [关闭]【英文标题】:Are there any benchmarks for CUDA-GPU or for MPI-CPU+CUDA-GPU? [closed] 【发布时间】:2013-09-19 04:42:21 【问题描述】:

有没有诸如"NAS parallel benchmark" 之类的基准测试,但是对于 CUDA-GPU、MPI-CPU+CUDA-GPU 或 (OpenCL GPU+CPU),我可以在哪里获取它?

据我所知,MPI-CPU+CUDA-GPU 的示例是 HPL(High Performance Computing Linpack Benchmark for CUDA)。这是"HPL - A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers"的修改版。

【问题讨论】:

【参考方案1】:

MAGMA 是一个基于 CUDA 的 BLAS 库。

http://icl.utk.edu/magma/

它的源代码包含大量的BLAS1,2,3和LAPACK rotines的测试程序,可以作为SMP-CPU v.s.的基准测试。 CUDA-GPU。

通过使用不同的 makefile,它可以比较几个 BLAS/LAPACK 库在 SMP-CPU 和 CUDA-GPU 上的性能。

    CPU 库:MKL、GotoBLAS、ATLAS、ACML GPU 库:CUBLAS、MAGMA

而且 MAGMA 还支持多 GPU。

这是其testing_dgemm 的示例输出

$ ./testing_dgemm -l
MAGMA 1.4.0 , capability 3.0
device 0: Tesla K20m, 705.5 MHz clock, 4799.6 MB memory, capability 3.5
Usage: ./testing_dgemm [options] [-h|--help]

If running lapack (option --lapack), MAGMA and CUBLAS error are both computed
relative to CPU BLAS result. Else, MAGMA error is computed relative to CUBLAS result.

transA = N, transB = N
    M     N     K   MAGMA Gflop/s (ms)  CUBLAS Gflop/s (ms)   CPU Gflop/s (ms)  MAGMA error  CUBLAS error
=========================================================================================================
 1088  1088  1088    542.60 (   4.75)     885.12 (   2.91)     16.09 ( 160.07)    4.02e-15     4.02e-15
 2112  2112  2112    594.08 (  31.72)    1013.63 (  18.59)     17.80 (1058.40)    5.58e-15     5.58e-15
 3136  3136  3136    595.65 ( 103.55)    1014.95 (  60.77)     67.72 ( 910.87)    7.64e-15     7.64e-15
 4160  4160  4160    591.86 ( 243.27)    1030.00 ( 139.79)     86.60 (1662.71)    8.79e-15     8.96e-15
 5184  5184  5184    589.67 ( 472.52)    1035.98 ( 268.95)     91.06 (3059.81)    1.06e-14     1.06e-14
 6208  6208  6208    583.73 ( 819.73)    1044.25 ( 458.23)     95.69 (5000.59)    1.18e-14     1.19e-14
 7232  7232  7232    585.58 (1291.86)    1044.57 ( 724.21)     99.09 (7634.04)    1.15e-14     1.15e-14
 8256  8256  8256    586.20 (1919.98)    1045.94 (1076.05)     98.31 (11447.84)    1.21e-14     1.21e-14
 9280  9280  9280    585.82 (2728.40)    1046.96 (1526.67)     99.49 (16064.95)    1.54e-14     1.54e-14
10304 10304 10304    586.37 (3731.41)    1048.27 (2087.26)    100.38 (21797.19)    1.67e-14     1.67e-14

【讨论】:

据我了解,MAGMA-source-code(magma-1.4.0.tar.gz) 包含“MAGMA 为 CUDA、OpenCL 和 Intel Xeon Phi 提供实现”以及 MAGMA、CUBLAS 和阿特拉斯。还有一些用于 Xeon Phi 的库,是 MPI 还是 OpenCL? 如果我想在使用 MPI 的 CPU+GPU 的集群中使用 HPL,我必须在标准 HPL 中使用 MAGMA,还是 MAGMA 已经通过 MPI 包含此集群测试? @Alex Xeon Phi 是英特尔的多核 HPC 解决方案,类似于用于 Nviida 的 GPU 的 CUDA。而且我对 Magma 的 MPI 支持了解不多。

以上是关于是否有 CUDA-GPU 或 MPI-CPU+CUDA-GPU 的基准? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux平台下的MATLAB中调试.CU文件

CU_CTX_SCHED_BLOCKING_SYNC 是不是使内核同步?

Exchange 2013升级到更高CU时出错:无法解析用户或组

多个.cu、.h和.c文件之间的Nsight CUDA链接问题

CUDA *.cpp 文件

有啥更好的——有更多的块或线程?