Giulio Garzia
c49238e9cd
OpenCL include-path workaround for Windows with AMD GPU
2022-02-20 17:55:16 +00:00
Gabriele Gristina
3156b487b7
Avoid quoting OpenCL include path when it's not required to
2022-02-20 17:55:16 +00:00
Gabriele Gristina
f890cd8134
Improved management of systems with multiple OpenCL platforms and show empty OpenCL platforms only in backend information mode
2022-02-19 21:17:56 +01:00
Gabriele Gristina
24de156ce8
Fixed backend active devices checks
2022-02-19 17:21:27 +01:00
Gabriele Gristina
fb12de4be6
fix style
2022-02-16 05:40:34 +01:00
Gabriele Gristina
7eb66e9936
Hardware Monitor: Add support for GPU device utilization readings using iokit on Apple Silicon (OpenCL and Metal)
2022-02-15 22:20:03 +01:00
Gabriele Gristina
3064c63c71
User Options: Change --backend-info/-I option type, from bool to int
2022-02-13 12:33:11 +01:00
Gabriele Gristina
b3d3b31c3e
Metal: added support for vectors up to 4
2022-02-10 21:53:08 +01:00
Jens Steube
be75e4b4ea
Rename STR() to M2S() to avoid future collisions and move from kernel source to command line parameter
2022-02-07 09:57:08 +01:00
Gabriele Gristina
7ac879f1e4
Fixed unused variable warning on Windows
2022-02-06 02:04:27 +01:00
Gabriele Gristina
829d49c8ba
resync src/backend.c
2022-02-06 01:17:19 +01:00
Gabriele Gristina
490702fcfa
Backends: added Metal host-code
2022-02-05 22:48:16 +01:00
Jens Steube
8293964097
Fix coding convention
2022-02-04 10:28:45 +01:00
Gabriele Gristina
cd363b32f6
Merge branch 'master' into metal_prepare_kernelIncludes_v2
2022-01-28 19:56:26 +01:00
Gabriele Gristina
01a28f80f7
Updated handling of POCL's known bugs
2022-01-22 22:40:18 +01:00
Gabriele Gristina
a1ced24564
Fixed bug on benchmark engine, add some unstable warnings, updated negative status code
2022-01-22 12:10:09 +01:00
Gabriele Gristina
2e4a136758
Refactored standard kernel includes in order to support Apple Metal runtime, updated backend, test units and status code
2022-01-18 22:52:14 +01:00
Gabriele Gristina
7650894e02
fixed bug in benchmark engine, updated negative status code
2022-01-11 04:58:30 +01:00
Jens Steube
dfd316c653
Merge pull request #3103 from matrix/backend_session_update_mp_rl
...
Removed hc_clSetKernelArg() call from backend_session_update_mp_rl()
2022-01-09 13:22:00 +01:00
Jens Steube
7a9a1b37d0
Merge pull request #3104 from matrix/backend_session_update_mp
...
Removed hc_clSetKernelArg() call from backend_session_update_mp()
2022-01-09 13:21:52 +01:00
Jens Steube
56ef2b4bde
Merge pull request #3102 from matrix/backend_cuda_restyle
...
CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
2022-01-06 11:29:56 +01:00
Jens Steube
045ca5cb7a
Fixed method how OPTS_TYPE_AUX* kernels are called in association mode, for instance WPA/WPA2 kernels
2022-01-05 10:46:00 +01:00
Jens Steube
668d2179cd
Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes
2022-01-04 18:07:18 +01:00
Gabriele Gristina
994083eaf5
Removed hc_clSetKernelArg() call from backend_session_update_mp()
2022-01-03 18:28:19 +01:00
Gabriele Gristina
0f0cf1fe08
Removed hc_clSetKernelArg() call from backend_session_update_mp_rl()
2022-01-03 17:16:27 +01:00
Gabriele Gristina
f8ceb8785e
CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
2022-01-03 16:29:15 +01:00
Gabriele Gristina
78c7ee2af6
HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h
2022-01-02 19:12:41 +01:00
Gabriele Gristina
26b6054cab
OpenCL Backend: moved functions to ext_OpenCL.c and includes to ext_OpenCL.h
2021-12-28 21:55:05 +01:00
Gabriele Gristina
861e644057
OpenCL Backend: added workaround to make optimized kernels work on Apple Silicon
2021-12-24 17:30:49 +01:00
Jens Steube
df6e5480ca
Print module_extra_tuningdb_block undefined compute device warning only on GPU
2021-12-23 19:23:35 +01:00
Gabriele Gristina
3fd6dac523
Set default device-type to GPU with Apple M1
2021-12-14 00:37:17 +01:00
Gabriele Gristina
0fae3a4394
Added support for Apple Silicon compute devices
2021-12-13 22:42:42 +01:00
Jens Steube
d4a54287b1
Add missing backslash for RUN_INSTRUCTION_CHECKS() on AMD
2021-12-09 14:03:32 +01:00
Jens Steube
3d53188cc3
Tuning Database: Added a warning if a module implements module_extra_tuningdb_block but the installed computing device is not found
2021-12-04 16:56:16 +01:00
Jens Steube
21f91c5bb8
Module Optimizaters: Added OPTS_TYPE_MAXIMUM_THREADS to deactivate the else branch route in the section to find -T before compilation
...
Set the new flag based on some testings with RX6900XT
2021-11-13 17:27:06 +01:00
Gabriele Gristina
9be7bc71a5
OpenCL Backend: added workaround to support Apple Silicon
2021-11-11 00:57:54 +01:00
Jens Steube
53f6693495
Temporary enable HIP 4.4/ROCM 4.5 on Linux and globally set native thread count
2021-11-10 19:32:54 +01:00
Jens Steube
f84aca82ca
Backend types: The default filter for the device types is now set so that only the GPU is used, except for APPLE, where we set CPU
2021-11-01 10:49:20 +01:00
Jens Steube
49a68cd6c1
AMD Driver: Updated requirements for AMD Linux drivers to ROCm 4.5 or later due to new HIP interface
2021-10-21 20:03:01 +02:00
Jens Steube
576a71af5c
Update minimum HIP version from 4.4 to upcoming 4.5
2021-10-19 19:26:10 +02:00
Jens Steube
756c29ec57
Add missing cleanup on windows if outdated HIP version is detected
2021-10-13 20:00:28 +02:00
Jens Steube
733f9c2d77
Add better detection future HIP 4.4
2021-10-12 20:01:14 +02:00
Jens Steube
07e58631a5
Backend devices: In non -S mode, limit the number of workitems so that no more than 4GB of host memory is required per backend device
2021-10-04 08:36:56 +02:00
Jens Steube
4b6654b503
Fix unstable plugin to driver warning
2021-09-24 13:35:18 +02:00
Jens Steube
c1fd42fe72
Reduce work item maximum in -S mode even further, tested with NTLM
2021-09-23 12:46:00 +02:00
Jens Steube
bd2cde31ae
Back-end devices: In -S mode, limit the number of workitems so that no more than 2GB of host memory is required per backend device
2021-09-22 13:03:25 +02:00
Jens Steube
4ef1509bc7
Backend Devices: Reduce maximum workitems limited derived from available host memory down from to 8GB to 4GB per backend device
2021-09-21 13:01:15 +02:00
Jens Steube
721e1ea54d
Fixed division by zero because backend_ctx->hardware_power_all was not re-inserted after refactoring device_param->hardware_power
2021-09-08 17:37:18 +02:00
Jens Steube
8c14fd85ea
POCL: Added a workaround for an issue in POCL that uses a quote character as part of the path itself given to a path for the -I option
2021-09-05 10:55:59 +02:00
Jens Steube
b4b2195fa5
OpenCL Runtime: The use of clUnloadPlatformCompiler () was disabled after some users received unexpected return codes
2021-08-24 09:37:49 +02:00
Jens Steube
85854236d1
Merge pull request #2935 from matrix/apple_gpu_workaround
...
workaround to 'clEnqueueWriteBuffer(): CL_INVALID_VALUE' with apple gpu
2021-08-21 08:04:37 +02:00
Jens Steube
50e28ff306
Merge pull request #2926 from jtojanen/master
...
Code cleanup and small fixes
2021-08-19 14:59:16 +02:00
Jukka Ojanen
6b4786de84
Make blocking clEnqueueWriteBuffer() non-blocking
2021-08-18 20:19:51 +03:00
Jukka Ojanen
f3cd32bffd
Avoid memory copy in rebuild_pws_compressed_append() and assign instead
2021-08-18 17:46:39 +03:00
Jens Steube
76e388ea47
Memory Management: Check in OpenCL that CL_DEVICE_HOST_UNIFIED_MEMORY is true and if so, then half of the available memory
...
NEO driver: Activate the NEO driver (Intel GPU) after it passed several tests in hashcat using the latest NEO driver version
2021-08-18 16:10:51 +02:00
Jens Steube
9254603960
Fixed out-of-boundary read in PKZIP masterkey kernel if the password candidate has length zero.
...
Now that kernel threads are no longer fixed over the entire session, hardware_power and hardware_power_all
needs to be updated the same way as kernel_power and kernel_power_all for each call to inner2_loop().
2021-08-17 17:38:45 +02:00
Gabriele Gristina
72735ed7c4
update workaround
2021-08-13 20:17:09 +02:00
Gabriele Gristina
fef18965c3
workaround to 'clEnqueueWriteBuffer(): CL_INVALID_VALUE' with apple gpu
2021-08-13 16:00:32 +02:00
Jukka Ojanen
5c0820b8d3
Assume hashconfig->tmp_size is the element size
2021-08-13 13:13:12 +03:00
Jukka Ojanen
bcb4a8f391
Add clFlush() to backend_session_update_mp() and backend_session_update_mp_rl()
2021-08-10 01:49:55 +03:00
Jukka Ojanen
3b11b51113
Remove unnecessary hc_cuEventSynchronize() call
2021-08-09 18:58:04 +03:00
Jukka Ojanen
1edb649c1f
Remove duplicate conditions
2021-08-09 18:48:20 +03:00
Jens Steube
5e1d37c82e
Make unsupported AMD HIP runtime version error message a bit more human readable
2021-08-05 18:56:33 +02:00
Jens Steube
cb69e2d413
Added some HIP version checks, fall back to OpenCL automatically
...
Switched HIP version check from driverVersion to runtimeVersion
Fixed syntax check of HAS_VPERM macro in several kernel includes causing invalid error message for AMD GPUs on Windows
Updated AMD driver requirements
Updated docs/changes.txt with missing changes from previous commits
Fixed invalid vector data type in Murmur Hash in -a 3 mode
Fixed uninitialized variable warning in src/hashes.c
Fixed broken support for --generate-rules-func-min
2021-08-04 20:49:22 +02:00
Jens Steube
b2d1f42905
Fix self-test functionality if FIXED_LOCAL_SIZE_COMP is used
...
Fix -m 25700 datatype in -a 3 mode and maximum password length in pure kernel mode
Fix -m 12500, 23700 and 23800 if password is exactly length 128
2021-08-02 12:00:17 +02:00
Jens Steube
af5d346244
Merge pull request #2894 from jtojanen/master
...
Allow async execution
2021-08-02 10:05:20 +02:00
Jens Steube
20a7b9f992
Tuning-Database: Add new module function module_extra_tuningdb_block() to extend hashcat.hctune content from a plugin
...
See src/modules/module_08900.c as an example
2021-08-01 16:25:37 +02:00
Jukka Ojanen
3d7ce7162b
Merge branch 'master' of https://github.com/hashcat/hashcat
2021-08-01 15:36:52 +03:00
Jukka Ojanen
62a06f735f
kernel_memset32(): assume offset and size are bytes, not elements
2021-08-01 15:19:15 +03:00
Jukka Ojanen
fdbfae9a28
Modify OpenCL clEnqueueFillBuffer() workaround
2021-08-01 14:47:08 +03:00
Jukka Ojanen
dbe2bad098
Maintain code style
2021-08-01 14:26:33 +03:00
Jukka Ojanen
1ee222d43f
Replace free() with hcfree()
2021-08-01 14:21:18 +03:00
Jukka Ojanen
e352a79a05
Extend context in gidd_to_pw_t()
2021-08-01 14:15:03 +03:00
Jens Steube
d4997d1255
Added support for auto-tuning --kernel-threads (-T) on startup
2021-07-31 16:49:39 +02:00
Jukka Ojanen
e154f9e781
Few cleanups
2021-07-30 12:24:21 +03:00
Jukka Ojanen
c3195d0603
Merge branch 'master' of https://github.com/hashcat/hashcat
2021-07-30 11:34:25 +03:00
Jukka Ojanen
1064cce08c
Synchronize before hooks
2021-07-29 15:22:25 +03:00
Jukka Ojanen
81c2ec3caf
Small cleanup in gidd_to_pw_t()
2021-07-29 14:48:36 +03:00
Jukka Ojanen
7a8065d090
Do not call clWaitForEvents() after spin damper when we know that event status is CL_COMPLETE
2021-07-29 14:39:11 +03:00
Jukka Ojanen
c48e6a25a8
Enqueue several commands before clFlush()
2021-07-29 14:28:01 +03:00
Jens Steube
03ed06849a
Merge branch 'HIP44' into master
2021-07-29 11:00:28 +02:00
Jens Steube
d38d40c8ba
Unlock all GPU threads for AMD GPUs if WaveFront size is 32 (basically new models)
...
Add new hash-modes to tools/benchmark_deep.pl
Fix MINGW issue on 64 bit constant in refactored kernel-accel limiting section
2021-07-29 10:49:44 +02:00
Jukka Ojanen
9ed231c99c
Add comment to blocking OpenCL calls
2021-07-29 00:07:10 +03:00
Jens Steube
a4299b74af
Memory Management: Refactored the code responsible for limiting kernel accel in order to avoid out of -host- memory situations
2021-07-28 20:50:05 +02:00
Jukka Ojanen
d7cc8d7cd2
Revert due to module_03200.c, module_25600.c and module_25800.c using device_param->kernel_dynamic_local_mem_size_memset
2021-07-28 19:49:02 +03:00
Jukka Ojanen
8b590f651b
Remove unused gpu_memset and its references
2021-07-28 19:26:30 +03:00
Jens Steube
9c0a37accf
Update driver requirement
2021-07-28 07:56:34 +02:00
Jukka Ojanen
cdf27a1cb3
Implement async run_cuda_kernel_memset() and run_cuda_kernel_memset32()
2021-07-27 18:56:59 +03:00
Jukka Ojanen
d7de3550b1
Add fast event for CUDA and HIP, and use it to synchronize check_hash()
2021-07-27 12:57:26 +03:00
Jens Steube
f6de3e61e0
Merge pull request #2906 from hashcat/master
...
Backports
2021-07-27 09:48:56 +02:00
Jens Steube
fd2cb59d26
AMD GPUs: On Apple OpenCL platform, we ask for the preferred kernel thread size rather than hard-coding 32
...
ECC secp256k1: Removed the inline assembly code for AMD GPUs because the latest JIT compilers optimize it with the same efficiency
2021-07-27 09:37:31 +02:00
Jukka Ojanen
a642f7b233
Remove synchronous GPU memory copy functions
2021-07-26 15:36:42 +03:00
Jukka Ojanen
de5200cffc
Allow async execution of backend
2021-07-26 15:17:25 +03:00
Jens Steube
72e307fbce
Merge pull request #2901 from hashcat/master
...
Backport changes
2021-07-25 10:57:39 +02:00
Jens Steube
959a232828
Merge pull request #2885 from neheb/charfixes
...
const and char fixes
2021-07-25 10:36:40 +02:00
Jens Steube
84a4058edf
Merge pull request #2900 from hashcat/master
...
Backport changes
2021-07-25 10:34:05 +02:00
Jens Steube
640d95a00f
Vendor Detection: Add "Intel" as a valid vendor name for GPU on macOS
2021-07-24 16:01:30 +02:00
Jens Steube
5ffcaa980d
HIP Backend: Added support to support HIP 4.4 and later, but added check to rule out older versions because they are incompatible
2021-07-23 16:04:34 +02:00
Rosen Penev
adaf3f293b
make const char pointers actually const
...
const char* is a non const pointer that points to const data. Add
missing const.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-07-22 18:13:46 -07:00
Jukka Ojanen
9f9333f2ef
Allow async execution of run_opencl_kernel_bzero(), run_hip_kernel_bzero() and run_opencl_kernel_bzero()
2021-07-22 15:18:10 +03:00