1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-05-10 19:08:49 +00:00

Improve checking for successfully load of the NVML API

This commit is contained in:
jsteube 2016-11-20 15:59:27 +01:00
parent 6efe557cdc
commit 7ae025efce

View File

@ -2610,6 +2610,8 @@ int hm_get_threshold_slowdown_with_device_id (hashcat_ctx_t *hashcat_ctx, const
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
int target = 0; int target = 0;
@ -2617,6 +2619,7 @@ int hm_get_threshold_slowdown_with_device_id (hashcat_ctx_t *hashcat_ctx, const
return target; return target;
} }
}
return -1; return -1;
} }
@ -2646,6 +2649,8 @@ int hm_get_threshold_shutdown_with_device_id (hashcat_ctx_t *hashcat_ctx, const
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
int target = 0; int target = 0;
@ -2653,6 +2658,7 @@ int hm_get_threshold_shutdown_with_device_id (hashcat_ctx_t *hashcat_ctx, const
return target; return target;
} }
}
return -1; return -1;
} }
@ -2701,6 +2707,8 @@ int hm_get_temperature_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 dev
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
int temperature = 0; int temperature = 0;
@ -2708,6 +2716,7 @@ int hm_get_temperature_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 dev
return temperature; return temperature;
} }
}
return -1; return -1;
} }
@ -2721,8 +2730,8 @@ int hm_get_fanpolicy_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 devic
if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) return -1; if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) return -1;
if (hwmon_ctx->hm_device[device_id].fan_get_supported == true) if (hwmon_ctx->hm_device[device_id].fan_get_supported == false) return -1;
{
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_AMD) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_AMD)
{ {
if (hwmon_ctx->hm_adl) if (hwmon_ctx->hm_adl)
@ -2756,7 +2765,6 @@ int hm_get_fanpolicy_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 devic
{ {
return 1; return 1;
} }
}
return -1; return -1;
} }
@ -2770,8 +2778,8 @@ int hm_get_fanspeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device
if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) return -1; if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) return -1;
if (hwmon_ctx->hm_device[device_id].fan_get_supported == true) if (hwmon_ctx->hm_device[device_id].fan_get_supported == false) return -1;
{
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_AMD) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_AMD)
{ {
if (hwmon_ctx->hm_adl) if (hwmon_ctx->hm_adl)
@ -2813,6 +2821,8 @@ int hm_get_fanspeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
int speed = 0; int speed = 0;
@ -2858,6 +2868,8 @@ int hm_get_buslanes_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
unsigned int currLinkWidth; unsigned int currLinkWidth;
@ -2865,6 +2877,7 @@ int hm_get_buslanes_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device
return currLinkWidth; return currLinkWidth;
} }
}
return -1; return -1;
} }
@ -2893,6 +2906,8 @@ int hm_get_utilization_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 dev
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
nvmlUtilization_t utilization; nvmlUtilization_t utilization;
@ -2900,6 +2915,7 @@ int hm_get_utilization_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 dev
return utilization.gpu; return utilization.gpu;
} }
}
return -1; return -1;
} }
@ -2937,6 +2953,8 @@ int hm_get_memoryspeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 dev
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
unsigned int clock; unsigned int clock;
@ -2944,6 +2962,7 @@ int hm_get_memoryspeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 dev
return clock; return clock;
} }
}
return -1; return -1;
} }
@ -2981,6 +3000,8 @@ int hm_get_corespeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 devic
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
unsigned int clock; unsigned int clock;
@ -2988,6 +3009,7 @@ int hm_get_corespeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 devic
return clock; return clock;
} }
}
return -1; return -1;
} }
@ -3003,10 +3025,11 @@ int hm_get_throttle_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_AMD) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_AMD)
{ {
} }
if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV) if (opencl_ctx->devices_param[device_id].device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvml)
{ {
/* this is triggered by mask generator, too. therefore useless /* this is triggered by mask generator, too. therefore useless
unsigned long long clocksThrottleReasons = 0; unsigned long long clocksThrottleReasons = 0;
@ -3027,6 +3050,7 @@ int hm_get_throttle_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device
return (clocksThrottleReasons != nvmlClocksThrottleReasonNone); return (clocksThrottleReasons != nvmlClocksThrottleReasonNone);
*/ */
}
if (hwmon_ctx->hm_nvapi) if (hwmon_ctx->hm_nvapi)
{ {
@ -3058,8 +3082,8 @@ int hm_set_fanspeed_with_device_id_adl (hashcat_ctx_t *hashcat_ctx, const u32 de
if (hwmon_ctx->enabled == false) return -1; if (hwmon_ctx->enabled == false) return -1;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == false) return -1;
{
if (hwmon_ctx->hm_adl) if (hwmon_ctx->hm_adl)
{ {
if (fanpolicy == 1) if (fanpolicy == 1)
@ -3109,7 +3133,6 @@ int hm_set_fanspeed_with_device_id_adl (hashcat_ctx_t *hashcat_ctx, const u32 de
} }
} }
} }
}
return -1; return -1;
} }
@ -3120,8 +3143,8 @@ int hm_set_fanspeed_with_device_id_nvapi (hashcat_ctx_t *hashcat_ctx, const u32
if (hwmon_ctx->enabled == false) return -1; if (hwmon_ctx->enabled == false) return -1;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == false) return -1;
{
if (hwmon_ctx->hm_nvapi) if (hwmon_ctx->hm_nvapi)
{ {
if (fanpolicy == 1) if (fanpolicy == 1)
@ -3155,7 +3178,6 @@ int hm_set_fanspeed_with_device_id_nvapi (hashcat_ctx_t *hashcat_ctx, const u32
return 0; return 0;
} }
} }
}
return -1; return -1;
} }
@ -3166,15 +3188,14 @@ int hm_set_fanspeed_with_device_id_xnvctrl (hashcat_ctx_t *hashcat_ctx, const u3
if (hwmon_ctx->enabled == false) return -1; if (hwmon_ctx->enabled == false) return -1;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == false) return -1;
{
if (hwmon_ctx->hm_xnvctrl) if (hwmon_ctx->hm_xnvctrl)
{ {
if (hm_XNVCTRL_set_fan_speed_target (hashcat_ctx, hwmon_ctx->hm_device[device_id].xnvctrl, fanspeed) == -1) return -1; if (hm_XNVCTRL_set_fan_speed_target (hashcat_ctx, hwmon_ctx->hm_device[device_id].xnvctrl, fanspeed) == -1) return -1;
return 0; return 0;
} }
}
return -1; return -1;
} }
@ -3185,15 +3206,14 @@ int hm_set_fanspeed_with_device_id_sysfs (hashcat_ctx_t *hashcat_ctx, const u32
if (hwmon_ctx->enabled == false) return -1; if (hwmon_ctx->enabled == false) return -1;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == false) return -1;
{
if (hwmon_ctx->hm_sysfs) if (hwmon_ctx->hm_sysfs)
{ {
if (hm_SYSFS_set_fan_speed_target (hashcat_ctx, device_id, fanspeed) == -1) return -1; if (hm_SYSFS_set_fan_speed_target (hashcat_ctx, device_id, fanspeed) == -1) return -1;
return 0; return 0;
} }
}
return -1; return -1;
} }
@ -3204,15 +3224,14 @@ static int hm_set_fanctrl_with_device_id_xnvctrl (hashcat_ctx_t *hashcat_ctx, co
if (hwmon_ctx->enabled == false) return -1; if (hwmon_ctx->enabled == false) return -1;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == false) return -1;
{
if (hwmon_ctx->hm_xnvctrl) if (hwmon_ctx->hm_xnvctrl)
{ {
if (hm_XNVCTRL_set_fan_control (hashcat_ctx, hwmon_ctx->hm_device[device_id].xnvctrl, val) == -1) return -1; if (hm_XNVCTRL_set_fan_control (hashcat_ctx, hwmon_ctx->hm_device[device_id].xnvctrl, val) == -1) return -1;
return 0; return 0;
} }
}
return -1; return -1;
} }
@ -3223,15 +3242,14 @@ static int hm_set_fanctrl_with_device_id_sysfs (hashcat_ctx_t *hashcat_ctx, cons
if (hwmon_ctx->enabled == false) return -1; if (hwmon_ctx->enabled == false) return -1;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == false) return -1;
{
if (hwmon_ctx->hm_sysfs) if (hwmon_ctx->hm_sysfs)
{ {
if (hm_SYSFS_set_fan_control (hashcat_ctx, device_id, val) == -1) return -1; if (hm_SYSFS_set_fan_control (hashcat_ctx, device_id, val) == -1) return -1;
return 0; return 0;
} }
}
return -1; return -1;
} }