[問題] JCuda

看板java作者 (名字背過又忘記)時間5年前 (2019/07/05 17:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
最近想用GPU來提升既有專案的速度, 所以參考了JCuda網站(http://www.jcuda.org/)的說明練習。 Tutorial章節底下有兩個Sample,應該都有順利執行: [JCudaRuntimeTest] 印出 Pointer: Pointer[nativePointer=0x508800000,byteOffset=0] [JCudaVectorAdd] 結果顯示 Test PASSED 接著嘗試跑其他的library, 在執行Sample底下的 JCublasSample.java 時報錯: Creating input data... Performing Sgemm with Java... Performing Sgemm with JCublas... Exception in thread "main" java.lang.UnsatisfiedLinkError: Error while loading native library "JCublas-0.9.2-windows-x86_64" Operating system name: Windows 10 Architecture : amd64 Architecture bit size: 64 ---(start of nested stack traces)--- Stack trace from the attempt to load the library as a file: java.lang.UnsatisfiedLinkError: C:\Users\calvin\eclipse-workspace\CUDA\dll\JCublas-0.9.2-windows-x86_64.dll: Can't find dependent libraries ... Stack trace from the attempt to load the library as a resource: java.lang.UnsatisfiedLinkError: C:\Users\calvin\AppData\Local\Temp\JCublas-0.9.2-windows-x86_64.dll: Can't find dependent libraries ... ---(end of nested stack traces)--- 看起來是 JCublas-0.9.2-windows-x86_64.dll 找不到要參考的dll, 所以我用dependency walker開來看, JCublas-0.9.2-windows-x86_64.dll 第一層使用到的dll有三個: cublas64_92.dll ADVAPI32.dll KERNEL32.dll https://imgur.com/FNzLBqw
cublas64_92.dll看起來是好的, 反倒是system32底下那兩個缺了一大堆, 想請問是不是少裝了什麼東西? 在這次的測試中我裝了: 1. JCuda and JCudnn, version 0.9.2 (from jcuda.org) 2. CUDA Toolkit Archive 10.1/9.2/9.1 三個版本 3. visual studio community 2017/2019 P.S. 這台電腦之前用來挖礦,所以顯卡應該是能正常運作的(1080ti*2), JDK版本是1.8.0_212。 // 順帶想問一下大方向, 網路上討論Cuda似乎是C++多很多, 想請問在不重寫java專案的前提下: 1. 繼續堅持使用JCuda,想辦法克服上述問題。 2. 換成VS/Cuda來處理GPU的部分,再想辦法用java call C++。 兩者哪個比較建議呢? 問題有點冗長不好意思,謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.10.161 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1562318297.A.ACF.html
文章代碼(AID): #1T7nNPhF (java)
文章代碼(AID): #1T7nNPhF (java)