热门排行
简介
CuDNN是一个专门针对Deep Learning框架设计的GPU计算加速方案,目前支持的DL库包括Caffe,ConvNet, Torch7等。cuDNN Library for Windows 10 引入了协作组,一个用于组织通信线程组的编程模型。CUDA编程模型提供了一个用于同步协作线程的单一结构,需要的朋友可下载试试!
功能概述
·支持Volta-GPU架构,包括新的Tesla V100 加速器
·协作组,一个用于管理通信线程组的新编程模型
·用于编程Tensor Core矩阵的新型API在Tesla V100上进行乘法或加法的操作
·更快的程序库用于线性代数,图像处理,FFT等
·在CuSolver和nvGroup中的新算法
·新的NVIDIA Visual Profiler支持Volta V100以及改进同一内存的分析功能
·提高编译器性能
·在CUDA设备代码中支持 C++14
·扩大开发平台和主机编译器,包括Microsoft Visual Studio 2017, Clang 3.9, PGI17.1和GCC6.x
CUDA 支持新的NVIDIA Volta 架构
CUDA 的核心是支持新型Volta架构,特别是GTC 2017推出的新Tesla V100 GPU加速器。
Tesla V100新的SM(流式多处理器)为深度学习和HPC提供了极高的浮点和整数性能。新的Volta SM比上一代Pascal设计能效高50%,在相同的功率范围内可大幅度提升FP32和FP64性能。在深度学习训练上,有12倍的峰值TFLOPs提升,在深度学习推理上,有6倍提升。通过独立的并行整数和浮点数据路径,Volta SM在计算和寻址计算的组合下,对工作负载的效率也更高。Volta的新独立线程调度能力使得并行线程之间的细粒度同步协同成为可能。最终,新型的L1 Data Cache 与Shared Memory子系统的结合极大地提升了性能,同时也简化了编程。
协作组
在并行运算中,线程通常需要合作来执行集体运算。
构建这些协作代码需要对协作线程进行分组和同步。
CUDA 9引入了协作组,一个用于组织通信线程组的编程模型。
历史上,CUDA编程模型提供了一个用于同步协作线程的单一结构,然而,程序员通常希望以小于线程块粒度来定义线程组。并在其中同步,以便以“集体”组功能接口的形式实现更高的性能,设计灵活性和软件复用。
协作组介绍了以子块和多块粒度明确定义线程组的能力,并对其进行集体操作,例如同步。编程模型支持跨软件边界的明确组合,使得库和实用程序功能可以在其上下文中安全同步,而无需对收敛进行假设。它允许开发人员针对硬件快速路径进行优化,例如GPU翘曲大小 - 以安全,可支持的方式使用灵活的同步,使程序员意图明确。协作组原本在CUDA中实现了合作并行性的新模式,包括整个网格中的生产者 - 消费者并行性,机会主义并行性和全局同步。
协作组还提供了一个抽象,开发人员可以编写灵活,可扩展的代码,以便在不同的GPU架构中安全工作,包括扩展到未来的GPU功能。线程组的大小可以从几个线程到整个线程块,到网格启动中的所有线程块,跨越多个GPU的网格。
协作组编程模型由以下元素组成:
用于表示协作线程组的数据类型;
由CUDA启动API定义的默认组(例如,线程块和网格);
将现有组划分为新组的操作;
同步组内所有线程的屏障操作;
检查组属性以及针对集团的集体的操作。
使用方法
1、解压cudnn-10.1-windows10-x64.zip
cuda默认安装路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
2、将cuda加入系统环境,设置环境变量:
计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和CUDA_PATH_V10_1两个环境变量,接下来,还要在系统中添加以下几个环境变量:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1(这是默认安装位置的路径)
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
在系统变量 PATH 的末尾添加:
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
再添加如下4条(默认安装路径):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\common\lib\x64;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\bin\win64;
3、验证是否配置成功,分别运行这两个程序deviceQuery.exe、bandwidthTest.exe ,cd到安装目录下的 ...\extras\demo_suite,result=pass则安装成功