Showing posts with label Geforce GTX 970. Show all posts
Showing posts with label Geforce GTX 970. Show all posts

2015-07-14

[GTX 970][CUDA 7.5 RC] sgemm の性能

CUDA のサンプルソース matrixMulCUBLAS で計測した。
環境は、Windows 7 x64、GTX 970、CUDA 7.5 RC、ドライバ 353.30。
性能は 2.93 TFlop/s。

[関連ページ]
[GTX 970][CUDA 7] sgemm の性能
http://cuda-memo.blogspot.jp/2015/07/gtx-970cuda-7-sgemm.html

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\bin\win64\Release>nvprof matrixMulCUBLAS.exe -sizemult=10
[Matrix Multiply CUBLAS] - Starting...
==4876== NVPROF is profiling process 4876, command: matrixMulCUBLAS.exe -sizemult=10
GPU Device 0: "GeForce GTX 970" with compute capability 5.2

MatrixA(640,1280), MatrixB(640,1280), MatrixC(640,1280)
Computing result using CUBLAS...done.
Performance= 2931.65 GFlop/s, Time= 0.358 msec, Size= 1048576000 Ops
Computing result using host CPU...done.
Comparing CUBLAS Matrix Multiply with CPU results: PASS

NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
==4876== Profiling application: matrixMulCUBLAS.exe -sizemult=10
==4876== Profiling result:
Time(%)      Time     Calls       Avg       Min       Max  Name
 84.06%  10.850ms        31  349.99us  346.34us  355.75us  maxwell_sgemm_128x64_nn
  9.67%  1.2485ms         3  416.16us  1.3120us  806.45us  [CUDA memcpy HtoD]
  6.26%  808.59us         1  808.59us  808.59us  808.59us  [CUDA memcpy DtoH]

==4876== API calls:
Time(%)      Time     Calls       Avg       Min       Max  Name
 67.27%  311.92ms         7  44.559ms  18.432us  311.27ms  cudaFree
 29.27%  135.70ms         6  22.617ms  10.649us  134.12ms  cudaMalloc
  2.30%  10.664ms         1  10.664ms  10.664ms  10.664ms  cudaEventSynchronize
  0.57%  2.6268ms         4  656.69us  23.348us  1.1702ms  cudaMemcpy
  0.24%  1.1256ms         2  562.79us  478.41us  647.17us  cudaGetDeviceProperties
  0.17%  806.91us       166  4.8600us       0ns  212.58us  cuDeviceGetAttribute
  0.08%  370.28us        31  11.944us  9.8300us  35.635us  cudaLaunch
  0.05%  228.15us         2  114.07us  84.377us  143.77us  cuDeviceGetName
  0.01%  69.225us       372     186ns       0ns     819ns  cudaSetupArgument
  0.01%  27.851us        16  1.7400us     819ns  11.059us  cudaEventCreateWithFlags
  0.00%  19.251us         2  9.6250us  9.0110us  10.240us  cudaThreadSynchronize
  0.00%  17.203us         1  17.203us  17.203us  17.203us  cudaEventElapsedTime
  0.00%  14.745us        16     921ns     409ns  2.0480us  cudaEventDestroy
  0.00%  13.517us         2  6.7580us  5.3250us  8.1920us  cudaEventRecord
  0.00%  9.0120us         2  4.5060us  3.6870us  5.3250us  cuDeviceTotalMem
  0.00%  8.5970us        31     277ns       0ns  1.6380us  cudaConfigureCall
  0.00%  7.3730us         2  3.6860us  1.6390us  5.7340us  cudaGetDevice
  0.00%  6.9660us        31     224ns       0ns     410ns  cudaGetLastError
  0.00%  4.5060us        10     450ns     409ns     819ns  cudaDeviceGetAttribute
  0.00%  4.0960us         2  2.0480us  1.2290us  2.8670us  cudaEventCreate
  0.00%  2.0490us         3     683ns       0ns  1.6390us  cuDeviceGetCount
  0.00%     410ns         1     410ns     410ns     410ns  cuDriverGetVersion
  0.00%     409ns         1     409ns     409ns     409ns  cuInit
  0.00%     409ns         3     136ns       0ns     409ns  cuDeviceGet

2015-07-13

[GTX 970][CUDA 7] sgemm の性能

CUDA のサンプルソース matrixMulCUBLAS で計測した。
環境は、Windows 7 x64、GTX 970、CUDA 7、ドライバ 353.30。
性能は 2.92 TFlop/s。

下記の参考ページによると、GTX 970 は 2.95TFlop/s、GTX 980 は 3.87TFlop/s、GTX 780 Ti は 3.06TFlop/s らしい。

[参考ページ]
http://www.comphys.las.shibaura-it.ac.jp/matrixMulCUBLAS_2015

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.0\bin\win64\Release>nvprof matrixMulCUBLAS.exe -sizemult=10
[Matrix Multiply CUBLAS] - Starting...
==1864== NVPROF is profiling process 1864, command: matrixMulCUBLAS.exe -sizemult=10
GPU Device 0: "GeForce GTX 970" with compute capability 5.2

MatrixA(640,1280), MatrixB(640,1280), MatrixC(640,1280)
Computing result using CUBLAS...done.
Performance= 2919.77 GFlop/s, Time= 0.359 msec, Size= 1048576000 Ops
Computing result using host CPU...done.
Comparing CUBLAS Matrix Multiply with CPU results: PASS

NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
==1864== Profiling application: matrixMulCUBLAS.exe -sizemult=10
==1864== Profiling result:
Time(%)      Time     Calls       Avg       Min       Max  Name
 81.92%  10.896ms        31  351.50us  348.19us  355.84us  maxwell_sgemm_128x64_nn
 12.14%  1.6145ms         3  538.15us  1.3120us  1.0752ms  [CUDA memcpy HtoD]
  5.94%  789.79us         1  789.79us  789.79us  789.79us  [CUDA memcpy DtoH]

==1864== API calls:
Time(%)      Time     Calls       Avg       Min       Max  Name
 66.45%  302.18ms         7  43.168ms  19.660us  301.50ms  cudaFree
 29.95%  136.21ms         6  22.702ms  11.469us  134.27ms  cudaMalloc
  2.36%  10.715ms         1  10.715ms  10.715ms  10.715ms  cudaEventSynchronize
  0.61%  2.7778ms         4  694.46us  23.347us  1.1751ms  cudaMemcpy
  0.26%  1.1714ms         2  585.71us  583.26us  588.17us  cudaGetDeviceProperties
  0.20%  925.67us       166  5.5760us       0ns  295.31us  cuDeviceGetAttribute
  0.08%  343.65us        31  11.085us  9.4200us  32.767us  cudaLaunch
  0.05%  219.54us         2  109.77us  78.232us  141.31us  cuDeviceGetName
  0.01%  58.161us       372     156ns       0ns     820ns  cudaSetupArgument
  0.01%  29.082us         2  14.541us  9.4210us  19.661us  cudaThreadSynchronize
  0.01%  26.623us        16  1.6630us     409ns  9.8300us  cudaEventCreateWithFlags
  0.00%  15.565us         1  15.565us  15.565us  15.565us  cudaEventElapsedTime
  0.00%  15.155us         2  7.5770us  6.1440us  9.0110us  cuDeviceTotalMem
  0.00%  14.336us         2  7.1680us  4.9150us  9.4210us  cudaEventRecord
  0.00%  13.517us        16     844ns     409ns  2.4570us  cudaEventDestroy
  0.00%  8.6020us         2  4.3010us  2.8670us  5.7350us  cudaGetDevice
  0.00%  6.9630us        31     224ns       0ns  1.2290us  cudaConfigureCall
  0.00%  4.5050us        10     450ns     409ns     819ns  cudaDeviceGetAttribute
  0.00%  4.0960us         2  2.0480us  1.2290us  2.8670us  cudaEventCreate
  0.00%  3.2760us        31     105ns       0ns     410ns  cudaGetLastError
  0.00%     820ns         3     273ns       0ns     410ns  cuDeviceGetCount
  0.00%     819ns         1     819ns     819ns     819ns  cuDriverGetVersion
  0.00%     819ns         1     819ns     819ns     819ns  cuInit
  0.00%     818ns         3     272ns       0ns     409ns  cuDeviceGet

2015-03-03

[Geforce GTX 970] cudaDeviceProp

        CUDA Device
            Name                                                                GeForce GTX 970
            Driver                                                              WDDM
            DeviceIndex                                                         0
            GPU Family                                                          GM204-A
            RmGpuId                                                             256
            Compute Major                                                       5
            Compute Minor                                                       2
            MAX_THREADS_PER_BLOCK                                               1024
            MAX_BLOCK_DIM_X                                                     1024
            MAX_BLOCK_DIM_Y                                                     1024
            MAX_BLOCK_DIM_Z                                                     64
            MAX_GRID_DIM_X                                                      2147483647
            MAX_GRID_DIM_Y                                                      65535
            MAX_GRID_DIM_Z                                                      65535
            MAX_SHARED_MEMORY_PER_BLOCK                                         49152
            TOTAL_CONSTANT_MEMORY                                               65536
            WARP_SIZE                                                           32
            MAX_PITCH                                                           2147483647
            MAX_REGISTERS_PER_BLOCK                                             65536
            CLOCK_RATE                                                          1253000
            TEXTURE_ALIGNMENT                                                   512
            GPU_OVERLAP                                                         1
            MULTIPROCESSOR_COUNT                                                13
            KERNEL_EXEC_TIMEOUT                                                 1
            INTEGRATED                                                          0
            CAN_MAP_HOST_MEMORY                                                 1
            COMPUTE_MODE                                                        0
            MAXIMUM_TEXTURE1D_WIDTH                                             65536
            MAXIMUM_TEXTURE2D_WIDTH                                             65536
            MAXIMUM_TEXTURE2D_HEIGHT                                            65536
            MAXIMUM_TEXTURE3D_WIDTH                                             4096
            MAXIMUM_TEXTURE3D_HEIGHT                                            4096
            MAXIMUM_TEXTURE3D_DEPTH                                             4096
            MAXIMUM_TEXTURE2D_LAYERED_WIDTH                                     16384
            MAXIMUM_TEXTURE2D_LAYERED_HEIGHT                                    16384
            MAXIMUM_TEXTURE2D_LAYERED_LAYERS                                    2048
            SURFACE_ALIGNMENT                                                   512
            CONCURRENT_KERNELS                                                  1
            ECC_ENABLED                                                         0
            PCI_BUS_ID                                                          1
            PCI_DEVICE_ID                                                       0
            TCC_DRIVER                                                          0
            MEMORY_CLOCK_RATE                                                   3505000
            GLOBAL_MEMORY_BUS_WIDTH                                             256
            L2_CACHE_SIZE                                                       1835008
            MAX_THREADS_PER_MULTIPROCESSOR                                      2048
            ASYNC_ENGINE_COUNT                                                  2
            UNIFIED_ADDRESSING                                                  1
            MAXIMUM_TEXTURE1D_LAYERED_WIDTH                                     16384
            MAXIMUM_TEXTURE1D_LAYERED_LAYERS                                    2048
            CAN_TEX2D_GATHER                                                    1
            MAXIMUM_TEXTURE2D_GATHER_WIDTH                                      16384
            MAXIMUM_TEXTURE2D_GATHER_HEIGHT                                     16384
            MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE                                   2048
            MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE                                  2048
            MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE                                   16384
            PCI_DOMAIN_ID                                                       0
            TEXTURE_PITCH_ALIGNMENT                                             32
            MAXIMUM_TEXTURECUBEMAP_WIDTH                                        16384
            MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH                                16384
            MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS                               2046
            MAXIMUM_SURFACE1D_WIDTH                                             65536
            MAXIMUM_SURFACE2D_WIDTH                                             65536
            MAXIMUM_SURFACE2D_HEIGHT                                            32768
            MAXIMUM_SURFACE3D_WIDTH                                             65536
            MAXIMUM_SURFACE3D_HEIGHT                                            32768
            MAXIMUM_SURFACE3D_DEPTH                                             2048
            MAXIMUM_SURFACE1D_LAYERED_WIDTH                                     65536
            MAXIMUM_SURFACE1D_LAYERED_LAYERS                                    2048
            MAXIMUM_SURFACE2D_LAYERED_WIDTH                                     65536
            MAXIMUM_SURFACE2D_LAYERED_HEIGHT                                    32768
            MAXIMUM_SURFACE2D_LAYERED_LAYERS                                    2048
            MAXIMUM_SURFACECUBEMAP_WIDTH                                        32768
            MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH                                32768
            MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS                               2046
            MAXIMUM_TEXTURE1D_LINEAR_WIDTH                                      134217728
            MAXIMUM_TEXTURE2D_LINEAR_WIDTH                                      65000
            MAXIMUM_TEXTURE2D_LINEAR_HEIGHT                                     65000
            MAXIMUM_TEXTURE2D_LINEAR_PITCH                                      1048544
            MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH                                   16384
            MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT                                  16384
            MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH                                   16384
            STREAM_PRIORITIES_SUPPORTED                                         0
            GLOBAL_L1_CACHE_SUPPORTED                                           0
            LOCAL_L1_CACHE_SUPPORTED                                            0
            MAX_SHARED_MEMORY_PER_MULTIPROCESSOR                                98304
            MAX_REGISTERS_PER_MULTIPROCESSOR                                    65536
            MANAGED_MEMORY                                                      1
            MULTI_GPU_BOARD                                                     0
            MULTI_GPU_BOARD_GROUP_ID                                            0
            DISPLAY_NAME                                                        GeForce GTX 970
            COMPUTE_CAPABILITY_MAJOR                                            5
            COMPUTE_CAPABILITY_MINOR                                            2
            TOTAL_MEMORY                                                        4294967296
            RAM_TYPE                                                            8
            RAM_LOCATION                                                        1
            GPU_PCI_DEVICE_ID                                                   331485406
            GPU_PCI_SUB_SYSTEM_ID                                               2231898179
            GPU_PCI_REVISION_ID                                                 161
            GPU_PCI_EXT_DEVICE_ID                                               5058
            GPU_PCI_EXT_GEN                                                     2
            GPU_PCI_EXT_GPU_GEN                                                 2
            GPU_PCI_EXT_GPU_LINK_RATE                                           8000
            GPU_PCI_EXT_GPU_LINK_WIDTH                                          16
            GPU_PCI_EXT_DOWNSTREAM_LINK_RATE                                    8000
            GPU_PCI_EXT_DOWNSTREAM_LINK_WIDTH                                   16

[GeForce GTX 970] deviceQuery

deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 970"
  CUDA Driver Version / Runtime Version          6.5 / 6.5
  CUDA Capability Major/Minor version number:    5.2
  Total amount of global memory:                 4096 MBytes (4294967296 bytes)
  (13) Multiprocessors, (128) CUDA Cores/MP:     1664 CUDA Cores
  GPU Clock rate:                                1253 MHz (1.25 GHz)
  Memory Clock rate:                             3505 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 1835008 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  CUDA Device Driver Mode (TCC or WDDM):         WDDM (Windows Display Driver Model)
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 970
Result = PASS