GPU wont work - MarKerR - 01-10-2023
Greetings, good people!
Last time i used hashcat somewhere around 1.5 years ago. And everything worked fine if i remember it correctly.
But few days ago i tried launch benchmark, and hashcat refused to work with GPU. Output are next:
Code: hashcat (v6.2.5) 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.
Successfully initialized NVIDIA CUDA library.
Failed to initialize NVIDIA RTC library.
* Device #1: CUDA SDK Toolkit not installed or incorrectly installed.
CUDA SDK Toolkit required for proper device support and utilization.
Falling back to OpenCL runtime.
* Device #1: This hardware has outdated CUDA compute capability (3.0).
For modern OpenCL performance, upgrade to hardware that supports
CUDA compute capability version 5.0 (Maxwell) or higher.
* Device #1: WARNING! Kernel exec timeout is not disabled.
This may cause "CL_OUT_OF_RESOURCES" or related errors.
To disable the timeout, see: https://hashcat.net/q/timeoutpatch
nvmlDeviceGetCurrPcieLinkWidth(): Not Supported
nvmlDeviceGetClockInfo(): Not Supported
nvmlDeviceGetClockInfo(): Not Supported
nvmlDeviceGetTemperatureThreshold(): Not Supported
nvmlDeviceGetTemperatureThreshold(): Not Supported
nvmlDeviceGetUtilizationRates(): Not Supported
OpenCL API (OpenCL 3.0 CUDA 11.4.309) - Platform #1 [NVIDIA Corporation]
========================================================================
* Device #1: NVIDIA GeForce GTX 650, 832/973 MB (243 MB allocatable), 2MCU
OpenCL API (OpenCL 2.1 LINUX) - Platform #2 [Intel(R) Corporation]
==================================================================
* Device #2: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz, skipped
Benchmark relevant options:
===========================
* --optimized-kernel-enable
-------------------
* Hash-Mode 0 (MD5)
-------------------
* Device #1: Not enough allocatable device memory for this attack.
Started: Tue Jan 10 09:37:00 2023
Stopped: Tue Jan 10 09:37:03 2023
Soooo.... in few days i tried couple thing.
Installing CUDA toolkit (as error suggests) from nvidia website turned out as a big failure, because its latest version, which obviously doesn't support 650. Also it for some reason installs latest driver. After this system doesn't load into GUI and shows some messages (see attachment).
Installing CUDA toolkit via
Code: sudo apt install nvidia-cuda-toolkit
installs 11.5 something version and gives output in which it tells me that:
1) will be installed:
Code: libaccinj64-11.5 libcub-dev libcublas11 libcublaslt11 libcudart11.0 libcufft10 libcufftw10 libcuinj64-11.5 libcupti-dev libcupti-doc libcupti11.5 libcurand10 libcusolver11 libcusolvermg11 libcusparse11 libnppc11 libnppial11 libnppicc11 libnppidei11 libnppif11 libnppig11 libnppim11 libnppist11 libnppisu11 libnppitc11 libnpps11 libnvblas11 libnvidia-compute-495 libnvidia-compute-510 libnvidia-ml-dev libnvjpeg11 libnvrtc-builtins11.5 libnvrtc11.2 libnvtoolsext1 libnvvm4 libtbb-dev libtbb12 libtbbmalloc2 libthrust-dev libvdpau-dev node-html5shiv nsight-compute nsight-compute-target nsight-systems nsight-systems-target nvidia-cuda-dev nvidia-cuda-gdb nvidia-cuda-toolkit-doc nvidia-profiler nvidia-visual-profiler
2) will be deleted: (Why it deletes 470* packages?)
Code: libnvidia-compute-470 libnvidia-compute-470:i386 libnvidia-decode-470 libnvidia-decode-470:i386 libnvidia-encode-470 libnvidia-encode-470:i386 nvidia-compute-utils-470 nvidia-driver-470 nvidia-utils-470
3) installed and doesn't need anymore:
Code: libnvidia-egl-wayland1 libnvidia-extra-470 libnvidia-fbc1-470 libnvidia-fbc1-470:i386 libnvidia-gl-470 libnvidia-ifr1-470 libnvidia-ifr1-470:i386 libxnvctrl0 nvidia-dkms-470 nvidia-kernel-common-470 nvidia-kernel-source-470 nvidia-prime nvidia-settings screen-resolution-extra
4) recommended package:
5) suggested packages:
Code: libtbb-doc libvdpau-doc nodejs
Before installing staff above
gives me
Code: Tue Jan 10 10:07:41 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.161.03 Driver Version: 470.161.03 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 N/A | N/A |
| 30% 36C P8 N/A / N/A | 243MiB / 973MiB | N/A Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
and
gives
Code: nvcc: Command not found.
Also
output is
Code: 01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd GK107 [GeForce GTX 650]
Flags: bus master, fast devsel, latency 0, IRQ 27
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
and
tells that
Code: hashcat (v6.2.5) starting in backend information mode
Successfully initialized NVIDIA CUDA library.
Failed to initialize NVIDIA RTC library.
* Device #1: CUDA SDK Toolkit not installed or incorrectly installed.
CUDA SDK Toolkit required for proper device support and utilization.
Falling back to OpenCL runtime.
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: NVIDIA Corporation
Name....: NVIDIA CUDA
Version.: OpenCL 3.0 CUDA 11.4.309
Backend Device ID #1
Type...........: GPU
Vendor.ID......: 32
Vendor.........: NVIDIA Corporation
Name...........: NVIDIA GeForce GTX 650
Version........: OpenCL 3.0 CUDA
Processor(s)...: 2
Clock..........: 1110
Memory.Total...: 973 MB (limited to 243 MB allocatable in one block)
Memory.Free....: 640 MB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 470.161.03
PCI.Addr.BDF...: 01:00.0
OpenCL Platform ID #2
Vendor..: Intel(R) Corporation
Name....: Intel(R) CPU Runtime for OpenCL(TM) Applications
Version.: OpenCL 2.1 LINUX
Backend Device ID #2
Type...........: CPU
Vendor.ID......: 8
Vendor.........: Intel(R) Corporation
Name...........: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
Version........: OpenCL 2.1 (Build 0)
Processor(s)...: 8
Clock..........: 3500
Memory.Total...: 24002 MB (limited to 3000 MB allocatable in one block)
Memory.Free....: 11969 MB
OpenCL.Version.: OpenCL C 2.0
Driver.Version.: 18.1.0.0920
After reboot,
runs without those yellow and red error, except for one:
Code: 10:24 []dima@dima-desktop:/home/dima>hashcat -b
hashcat (v6.2.5) 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.
-----> cuInit(): forward compatibility was attempted on non supported HW
OpenCL API (OpenCL 2.1 LINUX) - Platform #1 [Intel(R) Corporation]
==================================================================
* Device #1: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz, 11969/24002 MB (3000 MB allocatable), 8MCU
Benchmark relevant options:
===========================
* --optimized-kernel-enable
-------------------
* Hash-Mode 0 (MD5)
-------------------
Speed.#1.........: 248.5 MH/s (33.57ms) @ Accel:1024 Loops:1024 Thr:1 Vec:4
----------------------
* Hash-Mode 100 (SHA1)
----------------------
^Z
Suspended
Of course, "disabling" GPU at all is not a solution. Debug command shows next:
Code: 10:25 []dima@dima-desktop:/home/dima>hashcat -I
hashcat (v6.2.5) starting in backend information mode
cuInit(): forward compatibility was attempted on non supported HW
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: Intel(R) Corporation
Name....: Intel(R) CPU Runtime for OpenCL(TM) Applications
Version.: OpenCL 2.1 LINUX
Backend Device ID #1
Type...........: CPU
Vendor.ID......: 8
Vendor.........: Intel(R) Corporation
Name...........: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
Version........: OpenCL 2.1 (Build 0)
Processor(s)...: 8
Clock..........: 3500
Memory.Total...: 24002 MB (limited to 3000 MB allocatable in one block)
Memory.Free....: 11969 MB
OpenCL.Version.: OpenCL C 2.0
Driver.Version.: 18.1.0.0920
Code: 10:27 []dima@dima-desktop:/home/dima>nvidia-smi
nvidia-smi: Command not found.
Code: 10:29 []dima@dima-desktop:/home/dima>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0
10:29 []dima@dima-desktop:/home/dima>
Also i tried to install this, but didn't understood the result:
https://ubuntu.pkgs.org/20.04/cuda-amd64/cuda-compat-11-4_470.161.03-1_amd64.deb.html
Its already too many letters, so i am gonna ask about what bothers me:
1) some suggests that 650 is too old and simply does not going to work, is there a chance that this is true? (but that strange, because only thing that changed over 1.5 years is ubuntu version - 20.04 to 22.04)
2) why cuda also installs drivers in one scenario, and deletes everything that has 470 in name in another?
3) i am pretty sure that i should see built in GPU into CPU as separate device, but where is it?
Any suggestions?
RE: GPU wont work - Snoopy - 01-10-2023
CUDA SDK and Drivers have to fit to each other to work properly, newest sdk will install newest driver by default, so when using legacy driver 470* you have to know which cuda version you need or do some workarounds, see infos for cuda-compat installtions mentioned there
https://docs.nvidia.com/deploy/cuda-compatibility/index.html
|