How do I use gpuPlotGenerator with an NVIDIA GPU?



  • Hi, guys!

    When I launch gpuPlotGenerator I get an error message that reads:

    [ERROR][-1][CL_DEVICE_NOT_FOUND] Unable to retrieve the OpenCL devices number

    I've learned since getting the error (and losing the rest of my hair to obsessive hair-pulling) that NVIDIA cards use CUDA instead of OPENCL (crap!). I'm using gpuPlotGenerator v4.0.3, and I have a NVIDIA GeForce GTX 1060 6GB GPU.

    Does anybody know how to address this problem?

    Thanks in advance for any suggestions.



  • Make sure you have these installed:
    JRE 1.8.0_131 64-bit https://java.com/en/download/manual.jsp
    AMD APP SDK 2.9.1 http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/

    Try these settings in your devices.txt:
    0 0 4096 512 128



  • Unfortunately, this did not work.

    I changed the settings in my devices.txt as you recommended.
    Downloaded Java Version 8 Update 131.
    I installed AMD APP SDK 2.9.1 to its default directory (don't know what that was). Maybe it needs to go to another directory (like where the NVIDIA programs are stored)?

    Anything else I can try?

    Thanks in advance,



  • i looks like the device id's haven't been selected correctly is why the not found error this happened to me .



  • Maybe I can get some guidance how to execute the following.

    The gpuPlotGenerator's Readme instructs, among other things to:

    "Install msys/mingw.
    Install OpenCL (available in the manufacturer SDKs) or find the include/lib files on your hard drive (some drivers
    include those files).

    Modify the [PLATFORM] variable to one of [32] or [64] depending on the target platform.
    Modify the [OPENCL_INCLUDE] and [OPENCL_LIB] variables of the Makefile to the correct path.
    Example:

    OPENCL_INCLUDE = c:\AMDAPPSDK-2.9-1\include
    OPENCL_LIB = c:\AMDAPPSDK-2.9-1\lib\x86_64"
    

    I installed msys/mingw;
    I installed OpenCL (although NVIDIA already supposedly support OpenCL 1.2);

    Here come the questions:

    1. How do I modify the [Platform] variable to [64] ?
    2. How and where do I execute OPENCL_INCLUDE = c:\AMDAPPSDK-2.9-1\include ?
    3. How and where do I execute OPENCL_LIB = c:\AMDAPPSDK-2.9-1\lib\x86_64 ?

    As suggested by sevencardz, I installed AMD APP SDK 2.9.1to its default directory.

    Sorry for the noob questions. Thanks for any insight.



  • @vmantilla Yeah the readme is confusing - you can ignore the build instructions entirely if you're on windows. You want to find the part about setup and listing your devices. I think the command is:

    gpuPlotGenerator listDevices 0

    and you can change it to 1 to see more devices (if you have them).



  • @vmantilla, the readme gives "extra" instructions that one would need if they were going to compile the gpuPlotgenerator from it's source code. You aren't going to compile your own binary, so ignore this who section where it refers to msys/mingw, the includes, etc. Start at the ## Setup section and ignore what is above it.

    I have a GTX 1060 on a 64 bit Windows 10 machine and it plots just fine. I made sure I had the latest 64 bit JAVA installed. As far as the 1060, I installed all of the software that came with it and then updated everything to the latest version. I had no issue with OPENCL, and I don't remember installing anything to add it in or get it working. My GeForce driver is version 381.65.

    The NVIDIA did not like the suggested devices.txt settings; i have these values in use currently: 0 0 2048 128 2048. The gpuPlotgenerator would crash when the third value of 2048 was set to 4096. I think it is because my monitor is also being driven by this same card.

    Did you try the gpuPlotGenerator listPlatforms, gpuPlotGenerator listDevices and gpuPlotGenerator setup commands per the file instructions? Your card may not show up with a name you recognize. Mine lists the GPU chip name: Ellesmere for my RX-480 machine; I the GTX 1060 has a Pascal GPU.

    If I go back therough my notes and find anything else useful, I'll pass it along. Good luck!



  • Hi, guys!

    Thanks for the suggestions and thanks for the info to ignore the top of the Readme file. Unfortunately, still no dice after implementing your recommendations.

    Yes, I was able to get listDevices and listPlatforms to work. I obtained the data needed from those routines for my devices.txt file. Setup never worked because I'd get the Unable to retrieve the OpenCL devices number error.

    I also have the latest 64-bit version of Java installed. I'm sure I have all the software needed installed for the GPU because both the listPlatforms and listDevices commands report version OPEN CL 1.2 available. My GeForce driver also is version 381.65.

    Just to make sure I had no conflicts on the video card, I made a clean re-install of all the software. It didn't help.

    <Heavy sigh>.

    I guess I'm doomed to plot using my CPU. Oh, well. Slow and steady never fails unless it is a 100m. dash <smile>.

    Thanks again, guys. If you think of anything else, certainly let me know.



  • OK. Just to make sure I didn't screw up, please see the results I obtained below from listPlatforms and listDevices.


    Microsoft Windows [Version 10.0.14393]
    (c) 2016 Microsoft Corporation. All rights reserved.

    C:\Users\Owner>e:

    E:>cd gpuplotgenerator

    E:\GpuPlotGenerator>gpuplotgenerator listPlatforms

    GPU plot generator v4.0.3

    Author: Cryo
    Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
    Burst: BURST-YA29-QCEW-QXC3-BKXDL

    Platforms number: 4

    Id: 0
    Name: AMD Accelerated Parallel Processing
    Vendor: Advanced Micro Devices, Inc.
    Version: OpenCL 2.0 AMD-APP (2117.14)

    Id: 1
    Name: NVIDIA CUDA
    Vendor: NVIDIA Corporation
    Version: OpenCL 1.2 CUDA 8.0.0

    Id: 2
    Name: AMD Accelerated Parallel Processing
    Vendor: Advanced Micro Devices, Inc.
    Version: OpenCL 2.0 AMD-APP (2117.14)

    Id: 3
    Name: Experimental OpenCL 2.1 CPU Only Platform
    Vendor: Intel(R) Corporation
    Version: OpenCL 2.1

    E:\GpuPlotGenerator>gpuplotgenerator listDevices 1

    GPU plot generator v4.0.3

    Author: Cryo
    Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
    Burst: BURST-YA29-QCEW-QXC3-BKXDL

    Devices number: 1

    Id: 0
    Type: GPU
    Name: GeForce GTX 1060 6GB
    Vendor: NVIDIA Corporation
    Version: OpenCL 1.2 CUDA
    Driver version: 382.33
    Max clock frequency: 1771MHz
    Max compute units: 10
    Global memory size: 6GB 0MB 0KB
    Max memory allocation size: 1GB 512MB 0KB
    Max work group size: 1024
    Local memory size: 48KB
    Max work-item sizes: (1024, 1024, 64)


    Here is a copy of my devices.txt file:

    1 0 1024 128 2048


    Here is a copy of my myplots.bat file (the file I wrote to start the plot generation process):

    gpuPlotGenerator generate direct K://Plots/8943630914065091227_0_20000000_10000
    pause


    If anybody sees anything I missed, please holler <smile>.

    And, thanks for any information.



  • @vmantilla Hmm... everything looks right... I don't understand why it tells you that the device exists at platform id 1 and device id 0 and then can't find it there. Make sure you don't have any extra spaces or line breaks in devices.txt just for good measure.

    What are these platform ids 0, 2 and 3?

    I wonder also.. is jminer able to find your 1060 at the same location? Both use openCL.



  • I haven't tried jminer yet. I'll download it in a couple of minutes and see what happens. Anything to speed up plotting. Been running for 24 hours now and I have only plotted 36% of on 5Tb drive. Three more to go after that one <groan>.

    Thanks for the suggestion :) .



  • @vmantilla the supported api version of OpenCL for the 1060 is 1.2, which your NVIDEA device 1 lists. This at least confirms it is seeing your card.

    Do you have the path to your gpuPlotter folder in your myplots.bat file? Doing so makes sure the path is correct even if your bat file is in another location. Example:

     REM Change the line below to whatever your path is. Quotes necessary.
     CD "C:\CryptoCurrency\BurstCoin\GPU Plotter"
    
     gpuPlotGenerator generate direct D:\xxxxxxxxxxxxxxxxxxxxx_282327365_5087040_18168
    
     PAUSE
    

    Also, the plotter will not create your Plots folder (K://Plots). You either need to create it on the target disk in advance or just don't use it. I don't use it. Note also you can use <Drive Letter>:// or <Drive Letter>:. I use the latter.


Log in to reply
 

Looks like your connection to Burst - Efficient HDD Mining was lost, please wait while we try to reconnect.