mirror of
https://github.com/hashcat/hashcat
synced 2024-12-27 05:13:45 +01:00
Added current engine clock and current memory clock to the status display (ADL only atm)
Automatically enable AMD powertune in benchmark-mode
This commit is contained in:
parent
75a6e432db
commit
e97fa06a7a
@ -23,6 +23,7 @@ It combines all features of all hashcat projects in one project.
|
||||
- Added makefile native compilation target
|
||||
- Added makefile install and uninstall targets
|
||||
- Added autotuning engine and user-configurable tuning database
|
||||
- Added current engine clock and current memory clock to the status display
|
||||
- Added execution timer of the running kernel to the status display
|
||||
- Added command prompt to quit at next restore checkpoint
|
||||
- Added human-readable error message for the OpenCL error codes
|
||||
|
@ -1457,6 +1457,8 @@ int hm_check_fanspeed_control (void *adl, hm_attrs_t *hm_device, u32 *valid_adl_
|
||||
int hm_get_temperature_with_device_id (const uint device_id);
|
||||
int hm_get_fanspeed_with_device_id (const uint device_id);
|
||||
int hm_get_utilization_with_device_id (const uint device_id);
|
||||
int hm_get_memoryspeed_with_device_id (const uint device_id);
|
||||
int hm_get_corespeed_with_device_id (const uint device_id);
|
||||
|
||||
int hm_set_fanspeed_with_device_id_amd (const uint device_id, const int fanspeed);
|
||||
|
||||
|
@ -1549,10 +1549,14 @@ void status_display ()
|
||||
{
|
||||
char utilization[HM_STR_BUF_SIZE] = { 0 };
|
||||
char temperature[HM_STR_BUF_SIZE] = { 0 };
|
||||
char fanspeed[HM_STR_BUF_SIZE] = { 0 };
|
||||
char fanspeed[HM_STR_BUF_SIZE] = { 0 };
|
||||
char corespeed[HM_STR_BUF_SIZE] = { 0 };
|
||||
char memoryspeed[HM_STR_BUF_SIZE] = { 0 };
|
||||
|
||||
hm_device_val_to_str ((char *) utilization, HM_STR_BUF_SIZE, "%", hm_get_utilization_with_device_id (device_id));
|
||||
hm_device_val_to_str ((char *) temperature, HM_STR_BUF_SIZE, "c", hm_get_temperature_with_device_id (device_id));
|
||||
hm_device_val_to_str ((char *) utilization, HM_STR_BUF_SIZE, "%", hm_get_utilization_with_device_id (device_id));
|
||||
hm_device_val_to_str ((char *) temperature, HM_STR_BUF_SIZE, "c", hm_get_temperature_with_device_id (device_id));
|
||||
hm_device_val_to_str ((char *) corespeed, HM_STR_BUF_SIZE, "Mhz", hm_get_corespeed_with_device_id (device_id));
|
||||
hm_device_val_to_str ((char *) memoryspeed, HM_STR_BUF_SIZE, "Mhz", hm_get_memoryspeed_with_device_id (device_id));
|
||||
|
||||
if (device_param->device_vendor_id == VENDOR_ID_AMD)
|
||||
{
|
||||
@ -1563,7 +1567,7 @@ void status_display ()
|
||||
hm_device_val_to_str ((char *) fanspeed, HM_STR_BUF_SIZE, "%", hm_get_fanspeed_with_device_id (device_id));
|
||||
}
|
||||
|
||||
log_info ("HWMon.GPU.#%d...: %s Util, %s Temp, %s Fan", device_id + 1, utilization, temperature, fanspeed);
|
||||
log_info ("HWMon.GPU.#%d...: %s Util, %s Temp, %s Fan, %s Core, %s Memory", device_id + 1, utilization, temperature, fanspeed, corespeed, memoryspeed);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3841,6 +3845,7 @@ static void *thread_monitor (void *p)
|
||||
|
||||
if (data.devices_status != STATUS_RUNNING) continue;
|
||||
|
||||
|
||||
#ifdef HAVE_HWMON
|
||||
if (hwmon_check == 1)
|
||||
{
|
||||
@ -6883,6 +6888,7 @@ int main (int argc, char **argv)
|
||||
potfile_disable = 1;
|
||||
weak_hash_threshold = 0;
|
||||
gpu_temp_disable = 1;
|
||||
powertune_enable = 1;
|
||||
|
||||
data.status_timer = status_timer;
|
||||
data.restore_timer = restore_timer;
|
||||
|
46
src/shared.c
46
src/shared.c
@ -3231,6 +3231,52 @@ int hm_get_utilization_with_device_id (const uint device_id)
|
||||
return -1;
|
||||
}
|
||||
|
||||
int hm_get_memoryspeed_with_device_id (const uint device_id)
|
||||
{
|
||||
if ((data.devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) return -1;
|
||||
|
||||
#ifdef HAVE_ADL
|
||||
if (data.devices_param[device_id].device_vendor_id == VENDOR_ID_AMD)
|
||||
{
|
||||
if (data.hm_amd)
|
||||
{
|
||||
ADLPMActivity PMActivity;
|
||||
|
||||
PMActivity.iSize = sizeof (ADLPMActivity);
|
||||
|
||||
if (hm_ADL_Overdrive_CurrentActivity_Get (data.hm_amd, data.hm_device[device_id].adapter_index.amd, &PMActivity) != ADL_OK) return -1;
|
||||
|
||||
return PMActivity.iMemoryClock / 100;
|
||||
}
|
||||
}
|
||||
#endif // HAVE_ADL
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
int hm_get_corespeed_with_device_id (const uint device_id)
|
||||
{
|
||||
if ((data.devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) return -1;
|
||||
|
||||
#ifdef HAVE_ADL
|
||||
if (data.devices_param[device_id].device_vendor_id == VENDOR_ID_AMD)
|
||||
{
|
||||
if (data.hm_amd)
|
||||
{
|
||||
ADLPMActivity PMActivity;
|
||||
|
||||
PMActivity.iSize = sizeof (ADLPMActivity);
|
||||
|
||||
if (hm_ADL_Overdrive_CurrentActivity_Get (data.hm_amd, data.hm_device[device_id].adapter_index.amd, &PMActivity) != ADL_OK) return -1;
|
||||
|
||||
return PMActivity.iEngineClock / 100;
|
||||
}
|
||||
}
|
||||
#endif // HAVE_ADL
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef HAVE_ADL
|
||||
int hm_set_fanspeed_with_device_id_amd (const uint device_id, const int fanspeed)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user