Nvidia GPU相关包与命令及参考链接
GPU涉及一些驱动和工具包。列出来便于统一搜藏和翻阅。

  1. CUDA toolkit

    CUDA toolkit是Nvidia提供的开发环境,用于创建基于GPU的高性能应用。里面包含CUBLAS库,GPU加速库,调试工具,优化工具以及C/C++编译器(不过CUDA上的驱动版本可能会比单独下载的版本要旧一点,这个是因为CUDA更新没有那么快,跟不上驱动更新)
    下载链接:
    https://developer.nvidia.com/cuda-downloads
    安装:
    cd /home/admin
    sudo sh cuda_8.0.61_375.26_linux.run
    安装完毕后设置变量:
    PATH =$PATH:/usr/local/cuda-8.0/bin
    LD_LIBRARY_PATH =$ LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64

  2. CUDNN

    CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案,目前支持的库包括Caffe,ConvNet, Torch7等。CUDNN下载链接地址如下:
    https://developer.nvidia.com/cudnn
    安装基本原理是把lib文件加入到系统能找到的lib文件夹里, 把头文件加到系统能找到的include文件夹里就可以。这里把他们加到CUDA的文件夹下
    tar -xvf cudnn-8.0-linux-x64-v6.0.tgz
    cd cuda
    #cp lib64/libcudnn* /usr/local/cuda/lib64/
    #cp include/cudnn.h /usr/local/cuda/include/

  3. Nvidia驱动

    Nvidia驱动下载地址如下:
    http://cn.download.nvidia.com/tesla/375.51/nvidia-driver-local-repo-rhel7-375.51-1.x86_64.rpm
    cuda安装包里包含了驱动,但不一定是最新版的驱动,所以还是需要单独安装最新驱动。

  4. Caffe

    caffe下载链接入下:https://github.com/BVLC/caffe
    caffe安装过程比较复杂,根据需要参考其他专项。
    数据集
    在神经网络中学习需要的数据可以从如下地址下载:
    http://image-net.org/download.php
    http://www.image-net.org/challenges/LSVRC/2012/nonpub-downloads

  5. 设置GPU boost

    通过—auto-boost-default参数来制定。
    --auto-boost-default= Set the default auto boost policy to 0/DISABLED or 1/ENABLED, enforcing the change only after the last boost client has exited.

  6. 系统查看GPU卡

    查看系统中有多少张GPU卡,可以使用如下命令:
    #lspci | grep -i nvidia

  7. GPU硬件监控

    测试过程中可使用的监控命令如下:
    监控第一张卡的功耗
    nvidia-smi -i 0 -q -d Power
    监控第一张卡的温度
    nvidia-smi -i 0 -q -d Temperature
    监控GPU的使用率
    nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits
    监控GPU内容使用率
    nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits

  8. 附录相关概念

  • Khronos Group标准化组织

    Khronos Group团队成立于 2000 年 1 月,由包括 3Dlabs, ATI, Discreet, Evans & Sutherland, Intel, Nvidia, SGI 和 Sun Microsystems 在内的多家国际知名多媒体行业领导者创立,致力于发展开放标准的应用程序接口 API ,以实现在多种平台和终端设备上的富媒体创作、加速和回放。

  • OpenCL

    OpenCL(Open Computing Language,开放运算语言)。是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景,AMD-ATI、NVIDIA时下的产品都支持OPEN CL。

  • OpenGL

    OpenGL(Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
    OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。OpenCL和OpenGL是两个不同的API。
    OpenGL是3D API。
    OpenCL是GPU通用运算API。

  • CUDA

    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。

  • BLAS

    BLAS(Basic Linear Algebra Subprograms)即基础线性代数子程序库,里面包含大量已经编写好的关于线性代数运算的程序。
    blas库包含四类数据的计算:单精度实数s,双精度实数d,单精度复数c,双精度复数z。在机器学习中,最常用的是单精度实数。
    计算速度比较快的blas库是intel的mkl,非商业的实现可以用openblas。在gpu上计算一般使用CuBLAS,对外宣称速度是mkl的20倍左右。

  1. 参考链接

https://www.khronos.org/opengl/wiki/History_of_OpenGL
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units
The Bifrost GPU architecture and the ARM Mali-G71 GPU
https://en.wikipedia.org/wiki/DirectX
http://blog.csdn.net/Drdeep/article/details/50835974 这篇博客可供参考。
https://arxiv.org/abs/1605.07678
https://ip-stg.cadence.com/news/564/330/Cadence-Announces-New-Tensilica-Vision-P6-DSP-Targeting-Embedded-Neural-Network-Applications
https://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf
https://www.khronos.org/opengl/wiki/History_of_OpenGL
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units
https://en.wikipedia.org/wiki/DirectX
http://docs.nvidia.com/cuda/cublas/#axzz4nwrujQjk
https://developer.nvidia.com/cuda-toolkit-30-downloads
http://blog.csdn.net/sunhao2011/article/details/6982691
Nvidia驱动下载链接:http://www.nvidia.cn/Download/index.aspx
PC端显卡:http://tieba.baidu.com/p/4609379536?pn=2&statsInfo=frs_pager
https://docs.docker.com/
https://devblogs.nvidia.com/parallelforall/nvidia-docker-gpu-server-application-deployment-made-easy/
nvidia-docker安装:
https://github.com/NVIDIA/nvidia-docker/wiki/Installation
VASP:http://www.rthpc.com/View?id=553