溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

windows10下如何將cuda9.2升級到cuda10.2

發(fā)布時(shí)間:2021-12-22 17:28:42 來源:億速云 閱讀:501 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要為大家展示了“windows10下如何將cuda9.2升級到cuda10.2”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“windows10下如何將cuda9.2升級到cuda10.2”這篇文章吧。

一、文章主要內(nèi)容

    1、Windows10下從cuda9.2升級到cuda10.2

    2、Windows10下cudnn安裝

    3、cuda9.2、cuda10.2、cudnn7.2.1、cudnn7.6.5在DeepLearning4j中性能對比

二、安裝過程

    1、機(jī)器環(huán)境說明:

     CPU:i7 8700 6核12線程

     GPU:GTX 1070Ti

     內(nèi)存:16G

    備注:機(jī)器中曾經(jīng)安裝過cuda和cudnn,版本為:cuda9.2.148、cudnn7.2.1

     windows10下如何將cuda9.2升級到cuda10.2

    2、安裝包準(zhǔn)備

    (1)、cuda下載

    cuda下載地址:https://developer.nvidia.com/cuda-toolkit-archive,這里下載版本為:10.2,由于dl4j最高只支持到10.2

    windows10下如何將cuda9.2升級到cuda10.2

    安裝機(jī)器為windows10  64位,選擇cuda win10的64位版本,安裝模式選擇local,把安裝包下載到本地安裝

windows10下如何將cuda9.2升級到cuda10.2

    (2)、cuDNN下載

    下載地址:https://developer.nvidia.com/rdp/cudnn-archive,這里選擇與cuda10.2匹配的最新cudnn版本:7.6.5,這里不選8.0.2的原因是dl4j-beta6不支持8.x版本。

    windows10下如何將cuda9.2升級到cuda10.2

    下載到的安裝包如下:

    windows10下如何將cuda9.2升級到cuda10.2

    3、安裝cuda10.2

    直接按照默認(rèn)安裝路徑,下一步,同意并繼續(xù) -> 精簡安裝

    windows10下如何將cuda9.2升級到cuda10.2

    進(jìn)入安裝階段

    windows10下如何將cuda9.2升級到cuda10.2

    安裝結(jié)束之后,在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA目錄之下,出現(xiàn)了v10.2的文件夾,如下圖:

    windows10下如何將cuda9.2升級到cuda10.2

    備注:這里有個(gè)v9.2,是之前安裝的cuda版本,設(shè)置環(huán)境變量,也可以切換到9.2的版本

    打開cmd控制臺(tái),輸入nvcc --version命令回車,如下圖所示,說明10.2版本安裝成功

    windows10下如何將cuda9.2升級到cuda10.2

    同時(shí)用dl4j最新的example測試,驗(yàn)證cuad10.2是否可用,example地址:https://github.com/eclipse/deeplearning4j-examples/tree/master/mvn-project-template

   將maven依賴修改成如下配置,其中將dl4j-master.version修改為:1.0.0-beta6,加入nd4j-cuda-10.2-platform和deeplearning4j-cuda-10.2依賴

<properties>
        <dl4j-master.version>1.0.0-beta6</dl4j-master.version>
        <logback.version>1.2.3</logback.version>
        <java.version>1.8</java.version>
        <maven-shade-plugin.version>2.4.3</maven-shade-plugin.version>
    </properties>


    <dependencies>
        <!-- deeplearning4j-core: contains main functionality and neural networks -->
        <dependency>
            <groupId>org.deeplearning4j</groupId>
            <artifactId>deeplearning4j-core</artifactId>
            <version>${dl4j-master.version}</version>
        </dependency>

        <!--
        ND4J backend: every project needs one of these. The backend defines the hardware on which network training
        will occur. "nd4j-native-platform" is for CPUs only (for running on all operating systems).
        -->
        <!-- <dependency>
            <groupId>org.nd4j</groupId>
            <artifactId>nd4j-native</artifactId>
            <version>${dl4j-master.version}</version>
        </dependency> 
        -->
        <!-- CUDA: to use GPU for training (CUDA) instead of CPU, uncomment this, and remove nd4j-native-platform -->
        <!-- Requires CUDA to be installed to use. Change the version (8.0, 9.0, 9.1) to change the CUDA version -->
        
         <dependency>
            <groupId>org.nd4j</groupId>
            <artifactId>nd4j-cuda-10.2-platform</artifactId>
            <version>${dl4j-master.version}</version>
        </dependency> 
       

        <!-- Optional, but recommended: if you use CUDA, also use CuDNN. To use this, CuDNN must also be installed -->
        <!-- See: https://deeplearning4j.konduit.ai/config/backends/config-cudnn#using-deeplearning-4-j-with-cudnn -->
        
         <dependency>
            <groupId>org.deeplearning4j</groupId>
            <artifactId>deeplearning4j-cuda-10.2</artifactId>
            <version>${dl4j-master.version}</version>
        </dependency> 
       

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>
    </dependencies>

     Run as 一下main方法,打印日志如下, ND4J CUDA build version: 10.2.89,說明cuda10.2已經(jīng)生效。

o.d.e.s.LeNetMNIST - Load data....
o.d.e.s.LeNetMNIST - Build model....
o.n.l.f.Nd4jBackend - Loaded [JCublasBackend] backend
o.n.n.NativeOpsHolder - Number of threads used for linear algebra: 32
o.n.n.Nd4jBlas - Number of threads used for OpenMP BLAS: 0
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CUDA]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [12]; Memory: [3.5GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [CUBLAS]
o.n.l.j.JCublasBackend - ND4J CUDA build version: 10.2.89
o.n.l.j.JCublasBackend - CUDA device 0: [GeForce GTX 1070 Ti]; cc: [6.1]; Total memory: [8589934592]
o.d.n.m.MultiLayerNetwork - Starting MultiLayerNetwork with WorkspaceModes set to [training: ENABLED; inference: ENABLED], cacheMode set to [NONE]
o.d.n.l.c.ConvolutionLayer - Could not initialize CudnnConvolutionHelper
java.lang.reflect.InvocationTargetException: null
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.deeplearning4j.nn.layers.convolution.ConvolutionLayer.initializeHelper(ConvolutionLayer.java:78)
Caused by: java.lang.UnsatisfiedLinkError: no jnicudnn in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
	at java.lang.System.loadLibrary(System.java:1122)
	at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1543)
	at org.bytedeco.javacpp.Loader.load(Loader.java:1192)

    上面的日志中,出現(xiàn)一個(gè)異常,cudnn無法被初始化,是因?yàn)閏udnn還沒有安裝,接下來就可以安裝cudnn了。

    4、cuDNN安裝

    解壓 cudnn-10.2-windows10-x64-v7.6.5.32.zip,出現(xiàn)下圖所示的三個(gè)文件夾

    windows10下如何將cuda9.2升級到cuda10.2

    將這三個(gè)文件夾復(fù)制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2目錄下即可。cudnn的文件便加入到了cuda安裝目錄下

    windows10下如何將cuda9.2升級到cuda10.2

    再次運(yùn)行測試程序,異常消失,且CudnnSubsamplingHelper和CudnnConvolutionHelper初始化成功

o.d.e.s.LeNetMNIST - Load data....
o.d.e.s.LeNetMNIST - Build model....
o.n.l.f.Nd4jBackend - Loaded [JCublasBackend] backend
o.n.n.NativeOpsHolder - Number of threads used for linear algebra: 32
o.n.n.Nd4jBlas - Number of threads used for OpenMP BLAS: 0
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CUDA]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [12]; Memory: [3.5GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [CUBLAS]
o.n.l.j.JCublasBackend - ND4J CUDA build version: 10.2.89
o.n.l.j.JCublasBackend - CUDA device 0: [GeForce GTX 1070 Ti]; cc: [6.1]; Total memory: [8589934592]
o.d.n.m.MultiLayerNetwork - Starting MultiLayerNetwork with WorkspaceModes set to [training: ENABLED; inference: ENABLED], cacheMode set to [NONE]
o.d.n.l.c.ConvolutionLayer - CudnnConvolutionHelper successfully initialized
o.n.j.h.i.CudaZeroHandler - Creating bucketID: 5
o.d.n.l.c.s.SubsamplingLayer - CudnnSubsamplingHelper successfully initialized
o.d.n.l.c.ConvolutionLayer - CudnnConvolutionHelper successfully initialized
o.d.n.l.c.s.SubsamplingLayer - CudnnSubsamplingHelper successfully initialized

    至此,cuda10.2和cudnn7.6.5安裝成功,且可以dl4j beta6可以正常運(yùn)行。

三、性能對比

    測試程序地址:https://github.com/eclipse/deeplearning4j-examples/tree/master/mvn-project-template,網(wǎng)絡(luò)結(jié)構(gòu)為LeNet

    環(huán)境說明:

       操作系統(tǒng):Windows10

       CPU:i7 8700   3.2GHz   6核12線程

       GPU:GTX 1070Ti

       內(nèi)存:16G

       dl4j:beta6

     對比結(jié)果:

                   運(yùn)行環(huán)境                                   耗時(shí)(ms)                       
                     CPU            26566
                    cuda9.2            20725
         cuda9.2+cudnn7.2.1            12575
                    cuda10.2            19953
           cuda10.2+cudnn7.6.5            12574

     結(jié)果說明:

     1、cuda9.2和cuda10.2運(yùn)行結(jié)果相差不大

     2、cuda9.2+cudnn7.2.1 和  cuda10.2+cudnn7.6.5運(yùn)行結(jié)果也相差不大

     3、cudnn運(yùn)行效率有顯著提升

     4、GPU配合cudnn比CPU效率提升2倍

   特殊說明:dl4j基于cudnn對如下結(jié)構(gòu)進(jìn)行了優(yōu)化,如下圖所示:

    windows10下如何將cuda9.2升級到cuda10.2

以上是“windows10下如何將cuda9.2升級到cuda10.2”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI