Jens Steube
69a585fa4a
Autotune refactoring II: dynamic threads-per-block
...
- Integrated occupancy hints from vendor APIs (CUDA, HIP) to set a
dynamic threads-per-block limit per kernel instead of using static
values.
- Added `find_tuning_function()` to identify the relevant kernel.
- Autotuner now runs in three stages: threads -> loops -> accel. The
first two stages now stop increasing when the tested kernel runtime
gets too close to the target runtime (96ms for `-w 3`), leaving
headroom for the next stage to adjust in a finer sense.
- Accel tuning now uses a capped floating-point multiplier instead of
powers of two.
- Removed workarounds for missing thread autotuning in plugins.
- Removed the hardcoded 4GiB host memory limit for accel. Added a
cross-platform `get_free_memory()` to check actual free RAM during GPU
initialization, preventing underutilization of high-end GPUs like the
4090. If needed, users can still cap memory usage with `-T` or `-n`.
- Updated enums for ROCm 6.4.x and CUDA 12.9.
- Added code to detect kernel register spilling. That's relevant so we
can keep free enough global memory on the runtime for the runtime to
handle spills efficiently.
2025-06-24 20:19:42 +02:00
Jens Steube
ceb5ff5641
The Assimilation Bridge (Framework)
2025-05-29 15:38:13 +02:00
Gabriele Gristina
003579d21b
Modules: Updated module_unstable_warning
2025-05-11 15:40:52 +02:00
jsteube
6716447dfc
Add support for zero-length salts in Electrum $4 and $5
2024-04-20 17:35:45 +00:00
Rosen Penev
795674c939
fix some const-qual warnings
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-08-20 20:55:54 -07:00
Gabriele Gristina
2adf735e51
Fixed bug in input_tokenizer when TOKEN_ATTR_FIXED_LENGTH is used and refactor modules
2023-04-11 19:34:01 +02:00
Jens Steube
a7dbd73612
Add Radeon Pro W5700X to more scrypt based hash-modes and fix some metal issues
2022-11-26 13:32:33 +01:00
Jens Steube
8a82c75a99
macOS 13.0 fixed many issues in the OpenCL API. The module_unstable_warning() functions in many hash modes can then be removed
2022-11-20 12:21:41 +01:00
Jens Steube
653f34e9a2
Mark some hash-modes for Apple Metal as unstable
2022-11-12 19:16:31 +01:00
Dávid Bolvanský
38f6bbcbdc
Remove unstable warnings for AMD GPU
2022-08-18 22:22:01 +02:00
philsmd
d9749e8799
change interface, add module_benchmark_charset ()
2022-07-15 17:17:57 +02:00
Jens Steube
6fce6fb3ff
Update all existing modules to use the stock module marker
2022-04-08 14:11:50 +02: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
Jens Steube
5015bc0d2e
Module Parser: Renamed struct token_t to hc_token_t to avoid naming conflict with token_t on MacOS
2021-12-20 13:19:40 +01:00
Jens Steube
5b4ac09e91
User Options: Add new module function module_hash_decode_postprocess() to override hash specific configurations from command line
2021-11-28 13:58:27 +01:00
Jens Steube
b768f96228
Device Threads: The default maximum device thread number has been reduced from 1024 to 256, users can still overwrite with the -T option
2021-11-03 09:08:17 +01:00
Jens Steube
4213f83336
Update some typos in modules which caused them to fail if used from benchmark_deep.pl
2021-11-02 09:28:44 +01:00
Jens Steube
01738fafa0
Deprecated Plugins: Add new module function module_deprecated_notice() to mark a plugin as deprecated and to return a free text user notice
...
Added option --deprecated-check-disable to enable deprecated plugins
2021-08-10 17:59:52 +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
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
Jens Steube
2e929e692e
Backport update module_unstable_warning() for -m 21800 on HIP
2021-07-15 21:26:07 +02:00
Jens Steube
72d1937fe7
Modules: Added hash categories HASH_CATEGORY_IMS and HASH_CATEGORY_CRYPTOCURRENCY_WALLET
2021-06-05 15:32:28 +02:00
Jens Steube
4ce60a6c61
Add module_unstable_warning() entry for -m 21800 using rocr drivers
2021-05-12 07:42:46 +02:00
Jens Steube
95489b0473
Update module_unstable_warning() for amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy)
2021-05-02 18:18:50 +00:00
Jens Steube
b4f86d2262
Update module_unstable_warning() for -m 21800
2021-05-02 12:32:17 +02:00
Jens Steube
a834574daf
Update module_unstable_warning() based on the latest available drivers:
...
- NVIDIA-Linux-x86_64-460.73.01
- amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr for new gpu, legacy for
old gpu)
- w_opencl_runtime_p_2021.2.0.616.exe
Not tested:
- Apple *
- l_opencl_p_18.1.0.015.tgz
- Intel GPU
- POCL
Update docs/license.txt
2021-04-18 14:41:44 +02:00
Jens Steube
98aef2ae92
Module Structure: Add 3rd party library hook management functions. This also requires an update to all existing module_init()
2020-08-29 16:12:15 +02:00
Jens Steube
b9f6777f1b
OpenCL Runtime: Add some unstable warnings for some SHA512 based algorithms on AMD GPU on macOS
2020-07-15 11:27:46 +02:00
Jens Steube
c90d83c3eb
Prepare for UNROLL whitelisting
2020-02-15 12:44:12 +01:00
Jens Steube
ccacc508cb
Reenabled support for Intel GPU OpenCL runtime (Beignet and NEO) because a workaround was found (force -cl-std=CL2.0)
2020-01-24 10:52:12 +01:00
Jens Steube
9824e6e91b
Update unstable warnings for Intel GPU on macOSX 10.15
2020-01-14 13:29:02 +01:00
Jens Steube
8932c71ac2
Mark -m 17200, 17220, 17225 and 21800 as unstable on ROCM
2019-12-07 12:09:58 +01:00
philsmd
d07f002337
electrum 4/5: improve speed (rm hook)
2019-12-05 10:43:42 +01:00
Jens Steube
b618a72bd7
Update accel and thread modifiers for -m 21700 and -m 21800
2019-11-16 21:09:56 +01:00
Jens Steube
d0ad516422
Add some accel and thread limits to -m 21700 and -m 21800 for a smoother benchmark and checkpoint experience
2019-11-16 12:41:59 +01:00
philsmd
db91fe6981
Added -m 21700 = Electrum 4 and -m 21800 = Electrum 5
2019-11-16 10:48:52 +01:00