Hashcat not recognizing my GPU
#1
Sad 
I am running debian with the the latest driver for my graphics card available. Hashcat doesn't seem to detect my card or use CUDA when it runs. Any advice?

Code:
$ nvidia-smi
Thu May 21 22:07:32 2020     
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82      Driver Version: 440.82      CUDA Version: 10.2    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|        Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|  0  GeForce GTX 1080    On  | 00000000:07:00.0  On |                  N/A |
| 38%  57C    P0    42W / 180W |    395MiB /  8116MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+


Code:
$ hashcat -b
hashcat (v5.1.0) starting in benchmark mode...

Benchmarking uses hand-optimized kernel code by default.
You can use it in your cracking session by setting the -O option.
Note: Using optimized kernel code limits the maximum supported password length.
To disable the optimized kernel code in benchmark mode, use the -w option.

OpenCL Platform #1: The pocl project
====================================
* Device #1: pthread-AMD Ryzen 5 2600 Six-Core Processor, 4096/13984 MB allocatable, 12MCU

Benchmark relevant options:
===========================
* --optimized-kernel-enable
Reply
#2
here is the output of hashcat -I :

Code:
$ hashcat -I
hashcat (v5.1.0) starting...

OpenCL Info:

Platform ID #1
  Vendor  : The pocl project
  Name    : Portable Computing Language
  Version : OpenCL 1.2 pocl 1.5, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG

  Device ID #1
    Type          : CPU
    Vendor ID      : 1
    Vendor        : AuthenticAMD
    Name          : pthread-AMD Ryzen 5 2600 Six-Core Processor
    Version        : OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-znver1
    Processor(s)  : 12
    Clock          : 3400
    Memory        : 4096/13984 MB allocatable
    OpenCL Version : OpenCL C 1.2 pocl
    Driver Version : 1.5

my nvidia card appears to be installed correctly with CUDA 10.2 - why isn't it being recognized?
Reply
#3
see: https://hashcat.net/faq/wrongdriver

also test with
Code:
clinfo
to test and make sure it's working with other tools and therefore is not a hashcat problem.
Reply
#4
(05-22-2020, 08:02 AM)philsmd Wrote: see: https://hashcat.net/faq/wrongdriver

also test with
Code:
clinfo
to test and make sure it's working with other tools and therefore is not a hashcat problem.


Thanks for responding phil - my driver appears to be correct (367.x or later for nvidia and I have 440.82) but clinfo isn't detecting my card at all!

clinfo has a lot of information about my CPU, here's the relevant info  -
Code:
 
Number of platforms                              1
  Platform Name                                  Portable Computing Language
  Platform Vendor                                The pocl project
  Platform Version                                OpenCL 1.2 pocl 1.5, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG
  Platform Profile                                FULL_PROFILE
  Platform Extensions                            cl_khr_icd
  Platform Extensions function suffix            POCL

...
...

clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform

...

and the output for hwinfo --gfx:

Code:
$ sudo hwinfo --gfx
22: PCI 700.0: 0300 VGA compatible controller (VGA)           
  [Created at pci.386]
  Unique ID: aK5u.lDNs4rqucjC
  Parent ID: w+J7.0TU4LKoL980
  SysFS ID: /devices/pci0000:00/0000:00:03.1/0000:07:00.0
  SysFS BusID: 0000:07:00.0
  Hardware Class: graphics card
  Model: "nVidia GP104 [GeForce GTX 1080]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x1b80 "GP104 [GeForce GTX 1080]"
  SubVendor: pci 0x196e "PNY"
  SubDevice: pci 0x119e
  Revision: 0xa1
  Driver: "nvidia"
  Driver Modules: "nvidia"
  Memory Range: 0xf6000000-0xf6ffffff (rw,non-prefetchable)
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xf0000000-0xf1ffffff (ro,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 89 (1501922 events)
  Module Alias: "pci:v000010DEd00001B80sv0000196Esd0000119Ebc03sc00i00"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia_current_drm is not active
    Driver Activation Cmd: "modprobe nvidia_current_drm"
  Driver Info #2:
    Driver Status: nvidia_current is not active
    Driver Activation Cmd: "modprobe nvidia_current"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #8 (PCI bridge)

Primary display adapter: #22

nvidia-current would be the NVIDIA driver 440.82, right?
Reply
#5
https://computergraphics.stackexchange.c...detect-gpu

running hashcat as root gives me this output:

Code:
$ sudo hashcat -I
hashcat (v5.1.0) starting...

OpenCL Info:

Platform ID #1
  Vendor  : NVIDIA Corporation
  Name    : NVIDIA CUDA
  Version : OpenCL 1.2 CUDA 10.2.159

  Device ID #1
    Type          : GPU
    Vendor ID      : 32
    Vendor        : NVIDIA Corporation
    Name          : GeForce GTX 1080
    Version        : OpenCL 1.2 CUDA
    Processor(s)  : 20
    Clock          : 1733
    Memory        : 2029/8116 MB allocatable
    OpenCL Version : OpenCL C 1.2
    Driver Version : 440.82

Platform ID #2
  Vendor  : The pocl project
  Name    : Portable Computing Language
  Version : OpenCL 1.2 pocl 1.5, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG

  Device ID #2
    Type          : CPU
    Vendor ID      : 1
    Vendor        : AuthenticAMD
    Name          : pthread-AMD Ryzen 5 2600 Six-Core Processor
    Version        : OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-znver1
    Processor(s)  : 12
    Clock          : 3400
    Memory        : 4096/13984 MB allocatable
    OpenCL Version : OpenCL C 1.2 pocl
    Driver Version : 1.5


This is pretty close to fixing my problem, but I tried to follow the post in the stack exchange link above and couldn't find libOpenCL.so or libcl.so, even with root access...
Reply
#6
it's not clear what the problem now is.

Does clinfo only work (i.e. list your devices) with root ? that would be very bad and just proofs that your driver installation/configuration is broken. It would also proof that hashcat has nothing to do with the problem, if also other tools can't see your devices with non-root users.
Reply
#7
I don't know if that will help, but when i had this problem, i just deleted completly nvidia drivers, and used "sudo apt-get install -y nvidia-driver nvidia-cuda-toolkit" and it worked for me.
Reply
#8
"The pocl project"

That's not likely to work well. I've had terrible trouble with POCL getting in the way of my other OpenCL configs, and I've basically blacklisted it from my systems now, it's more trouble than it's worth. Uninstall anything listed by `dpkg -l |grep pocl`, if necessary install `ocl-icd-libopencl1`, and you'll almost certainly have a much better time.
Reply