CUDA Tegra、GeForce、Quadro、Tesla的区别

Tegra系列产品是转为移动和嵌入式设备而设计的,如平板电脑和手机,典型的如Tegra K1,Tegra X1,TegraX2等(为嵌入式芯片,功耗低,gpu和cpu芯片在同一块硅片上)

GeForce面向图像用户,典型的如NVIDIA TITAN Xp、GeForce GTX 1080等(通常用于桌面显示,价格亲民,普通大众使用的较多,也可进行科学计算,只是精确度稍低)

Quadro用于专业绘图设计,典型的如Quadro 6000、Quadro FX 5800(计算能力均在2.0及以下)(Quadro支持高速OpenGL渲染)

Tesla用于大规模的并行计算,典型的如Tesla P100、Tesla M60、Tesla K80(Tesla不支持OpenGL。Tesla专为企业部署而设计,拥有更高级别的专业显存,专为处理计算类应用程序而设计。)

Tesla和Geforce的区别(因此Geforce通常比较便宜,Tesla通常很贵)
1:T内部和外部RAM都有ECC保护,而G无保护,ECC的保护,大大降低了内存错误的发生几率;
2:T全部通过0错误测试,保证计算结果的正确性,而G仅针对图形应用的测试,使用T计算得出结果是准确的,可信的。而使用G计算出的结果往往出现错误,经常同一个程序跑几遍,得出的结果却不一样,因此对于严谨的科学计算来说,G的这种表现是致命的;
3:T是Nvidia原厂生产,G是第三方厂商,相比质量更好;

Tegra系列猜测由于成本、体积、需求点等问题同样没有ECC内存保护(查看Tegra X1确实没有):

ECC是否支持查看方式在官方示例代码中有,目录为NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery,其中还含有其他一些性能的获取和显示。

如TX1的运行结果为:

 
  1. ./deviceQuery/deviceQuery Starting...

  2.  
  3. CUDA Device Query (Runtime API) version (CUDART static linking)

  4.  
  5. Detected 1 CUDA Capable device(s)

  6.  
  7. Device 0: "NVIDIA Tegra X1"

  8. CUDA Driver Version / Runtime Version 8.0 / 8.0

  9. CUDA Capability Major/Minor version number: 5.3

  10. Total amount of global memory: 3995 MBytes (4188774400 bytes)

  11. ( 2) Multiprocessors, (128) CUDA Cores/MP: 256 CUDA Cores

  12. GPU Max Clock rate: 72 MHz (0.07 GHz)

  13. Memory Clock rate: 13 Mhz

  14. Memory Bus Width: 64-bit

  15. L2 Cache Size: 262144 bytes

  16. Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)

  17. Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers

  18. Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers

  19. Total amount of constant memory: 65536 bytes

  20. Total amount of shared memory per block: 49152 bytes

  21. Total number of registers available per block: 32768

  22. Warp size: 32

  23. Maximum number of threads per multiprocessor: 2048

  24. Maximum number of threads per block: 1024

  25. Max dimension size of a thread block (x,y,z): (1024, 1024, 64)

  26. Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)

  27. Maximum memory pitch: 2147483647 bytes

  28. Texture alignment: 512 bytes

  29. Concurrent copy and kernel execution: Yes with 1 copy engine(s)

  30. Run time limit on kernels: Yes

  31. Integrated GPU sharing Host Memory: Yes

  32. Support host page-locked memory mapping: Yes

  33. Alignment requirement for Surfaces: Yes

  34. Device has ECC support: Disabled

  35. Device supports Unified Addressing (UVA): Yes

  36. Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 0

  37. Compute Mode:

  38. < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

  39.  
  40. deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = NVIDIA Tegra X1

  41. Result = PASS

获取该内容是否支持的函数和部分代码如下

 
  1. cudaSetDevice(dev);

  2. cudaDeviceProp deviceProp;

  3. cudaGetDeviceProperties(&deviceProp, dev);

  4. printf(" Device has ECC support: %s\n", deviceProp.ECCEnabled ? "Enabled" : "Disabled");

猜你喜欢

转载自blog.csdn.net/kwame211/article/details/81634389