mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-22 16:18:09 +00:00
Consolidate hardware monitoring interface status on startup
This commit is contained in:
parent
468cedf24e
commit
4d2be9073e
@ -22,8 +22,8 @@ int adl_init (ADL_PTR *adl)
|
|||||||
|
|
||||||
if (!adl->lib)
|
if (!adl->lib)
|
||||||
{
|
{
|
||||||
if (data.quiet == 0)
|
//if (data.quiet == 0)
|
||||||
log_info ("WARNING: load ADL library failed, proceed without ADL HWMon enabled.");
|
// log_info ("WARNING: load ADL library failed, proceed without ADL HWMon enabled.");
|
||||||
|
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,8 @@ int nvapi_init (NVAPI_PTR *nvapi)
|
|||||||
|
|
||||||
if (!nvapi->lib)
|
if (!nvapi->lib)
|
||||||
{
|
{
|
||||||
if (data.quiet == 0)
|
//if (data.quiet == 0)
|
||||||
log_info ("WARNING: load NVAPI library failed, proceed without NVAPI HWMon enabled.");
|
// log_info ("WARNING: load NVAPI library failed, proceed without NVAPI HWMon enabled.");
|
||||||
|
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,8 @@ int nvml_init (NVML_PTR *nvml)
|
|||||||
|
|
||||||
if (!nvml->lib)
|
if (!nvml->lib)
|
||||||
{
|
{
|
||||||
if (data.quiet == 0)
|
//if (data.quiet == 0)
|
||||||
log_info ("WARNING: load NVML library failed, proceed without NVML HWMon enabled.");
|
// log_info ("WARNING: load NVML library failed, proceed without NVML HWMon enabled.");
|
||||||
|
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
224
src/oclHashcat.c
224
src/oclHashcat.c
@ -13000,113 +13000,6 @@ int main (int argc, char **argv)
|
|||||||
log_info ("");
|
log_info ("");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* OpenCL devices: allocate buffer for device specific information
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_HWMON
|
|
||||||
int *temp_retain_fanspeed_value = (int *) mycalloc (devices_cnt, sizeof (int));
|
|
||||||
|
|
||||||
#ifdef HAVE_ADL
|
|
||||||
ADLOD6MemClockState *od_clock_mem_status = (ADLOD6MemClockState *) mycalloc (devices_cnt, sizeof (ADLOD6MemClockState));
|
|
||||||
|
|
||||||
int *od_power_control_status = (int *) mycalloc (devices_cnt, sizeof (int));
|
|
||||||
#endif // ADL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* enable custom signal handler(s)
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (benchmark == 0)
|
|
||||||
{
|
|
||||||
hc_signal (sigHandler_default);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
hc_signal (sigHandler_benchmark);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* User-defined GPU temp handling
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_HWMON
|
|
||||||
if (gpu_temp_disable == 1)
|
|
||||||
{
|
|
||||||
gpu_temp_abort = 0;
|
|
||||||
gpu_temp_retain = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((gpu_temp_abort != 0) && (gpu_temp_retain != 0))
|
|
||||||
{
|
|
||||||
if (gpu_temp_abort < gpu_temp_retain)
|
|
||||||
{
|
|
||||||
log_error ("ERROR: invalid values for gpu-temp-abort. Parameter gpu-temp-abort is less than gpu-temp-retain.");
|
|
||||||
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
data.gpu_temp_disable = gpu_temp_disable;
|
|
||||||
data.gpu_temp_abort = gpu_temp_abort;
|
|
||||||
data.gpu_temp_retain = gpu_temp_retain;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* inform the user
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (data.quiet == 0)
|
|
||||||
{
|
|
||||||
log_info ("Hashes: %u hashes; %u unique digests, %u unique salts", hashes_cnt_orig, digests_cnt, salts_cnt);
|
|
||||||
|
|
||||||
log_info ("Bitmaps: %u bits, %u entries, 0x%08x mask, %u bytes, %u/%u rotates", bitmap_bits, bitmap_nums, bitmap_mask, bitmap_size, bitmap_shift1, bitmap_shift2);
|
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
|
||||||
{
|
|
||||||
log_info ("Rules: %u", kernel_rules_cnt);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opti_type)
|
|
||||||
{
|
|
||||||
log_info ("Applicable Optimizers:");
|
|
||||||
|
|
||||||
for (uint i = 0; i < 32; i++)
|
|
||||||
{
|
|
||||||
const uint opti_bit = 1u << i;
|
|
||||||
|
|
||||||
if (opti_type & opti_bit) log_info ("* %s", stroptitype (opti_bit));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Watchdog and Temperature balance
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_HWMON
|
|
||||||
if (gpu_temp_abort == 0)
|
|
||||||
{
|
|
||||||
log_info ("Watchdog: Temperature abort trigger disabled");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
log_info ("Watchdog: Temperature abort trigger set to %uc", gpu_temp_abort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gpu_temp_retain == 0)
|
|
||||||
{
|
|
||||||
log_info ("Watchdog: Temperature retain trigger disabled");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
log_info ("Watchdog: Temperature retain trigger set to %uc", gpu_temp_retain);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.quiet == 0) log_info ("");
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HM devices: init
|
* HM devices: init
|
||||||
*/
|
*/
|
||||||
@ -13233,8 +13126,125 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // HAVE_ADL
|
#endif // HAVE_ADL
|
||||||
|
|
||||||
|
if (data.hm_amd == NULL && data.hm_nv == NULL)
|
||||||
|
{
|
||||||
|
gpu_temp_disable = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OpenCL devices: allocate buffer for device specific information
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_HWMON
|
||||||
|
int *temp_retain_fanspeed_value = (int *) mycalloc (devices_cnt, sizeof (int));
|
||||||
|
|
||||||
|
#ifdef HAVE_ADL
|
||||||
|
ADLOD6MemClockState *od_clock_mem_status = (ADLOD6MemClockState *) mycalloc (devices_cnt, sizeof (ADLOD6MemClockState));
|
||||||
|
|
||||||
|
int *od_power_control_status = (int *) mycalloc (devices_cnt, sizeof (int));
|
||||||
|
#endif // ADL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enable custom signal handler(s)
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (benchmark == 0)
|
||||||
|
{
|
||||||
|
hc_signal (sigHandler_default);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hc_signal (sigHandler_benchmark);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User-defined GPU temp handling
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_HWMON
|
||||||
|
if (gpu_temp_disable == 1)
|
||||||
|
{
|
||||||
|
gpu_temp_abort = 0;
|
||||||
|
gpu_temp_retain = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((gpu_temp_abort != 0) && (gpu_temp_retain != 0))
|
||||||
|
{
|
||||||
|
if (gpu_temp_abort < gpu_temp_retain)
|
||||||
|
{
|
||||||
|
log_error ("ERROR: invalid values for gpu-temp-abort. Parameter gpu-temp-abort is less than gpu-temp-retain.");
|
||||||
|
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data.gpu_temp_disable = gpu_temp_disable;
|
||||||
|
data.gpu_temp_abort = gpu_temp_abort;
|
||||||
|
data.gpu_temp_retain = gpu_temp_retain;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* inform the user
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (data.quiet == 0)
|
||||||
|
{
|
||||||
|
log_info ("Hashes: %u hashes; %u unique digests, %u unique salts", hashes_cnt_orig, digests_cnt, salts_cnt);
|
||||||
|
|
||||||
|
log_info ("Bitmaps: %u bits, %u entries, 0x%08x mask, %u bytes, %u/%u rotates", bitmap_bits, bitmap_nums, bitmap_mask, bitmap_size, bitmap_shift1, bitmap_shift2);
|
||||||
|
|
||||||
|
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
|
{
|
||||||
|
log_info ("Rules: %u", kernel_rules_cnt);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opti_type)
|
||||||
|
{
|
||||||
|
log_info ("Applicable Optimizers:");
|
||||||
|
|
||||||
|
for (uint i = 0; i < 32; i++)
|
||||||
|
{
|
||||||
|
const uint opti_bit = 1u << i;
|
||||||
|
|
||||||
|
if (opti_type & opti_bit) log_info ("* %s", stroptitype (opti_bit));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watchdog and Temperature balance
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_HWMON
|
||||||
|
if (gpu_temp_disable == 0 && data.hm_amd == NULL && data.hm_nv == NULL)
|
||||||
|
{
|
||||||
|
log_info ("Watchdog: Hardware Monitoring Interface not found on your system");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gpu_temp_abort == 0)
|
||||||
|
{
|
||||||
|
log_info ("Watchdog: Temperature abort trigger disabled");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
log_info ("Watchdog: Temperature abort trigger set to %uc", gpu_temp_abort);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gpu_temp_retain == 0)
|
||||||
|
{
|
||||||
|
log_info ("Watchdog: Temperature retain trigger disabled");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
log_info ("Watchdog: Temperature retain trigger set to %uc", gpu_temp_retain);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.quiet == 0) log_info ("");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HM devices: copy
|
* HM devices: copy
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user