1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-22 16:18:09 +00:00

Improve CPU detection on AMDGPU-Pro

This commit is contained in:
jsteube 2016-11-14 13:05:40 +01:00
parent 9f4c4dc14c
commit 8645571a7c
4 changed files with 20 additions and 7 deletions

View File

@ -9,7 +9,8 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
static const char CL_VENDOR_AMD[] = "Advanced Micro Devices, Inc."; static const char CL_VENDOR_AMD1[] = "Advanced Micro Devices, Inc.";
static const char CL_VENDOR_AMD2[] = "AuthenticAMD";
static const char CL_VENDOR_AMD_USE_INTEL[] = "GenuineIntel"; static const char CL_VENDOR_AMD_USE_INTEL[] = "GenuineIntel";
static const char CL_VENDOR_APPLE[] = "Apple"; static const char CL_VENDOR_APPLE[] = "Apple";
static const char CL_VENDOR_INTEL_BEIGNET[] = "Intel"; static const char CL_VENDOR_INTEL_BEIGNET[] = "Intel";

View File

@ -922,8 +922,6 @@ typedef struct hc_device_param
char *driver_version; char *driver_version;
char *device_opencl_version; char *device_opencl_version;
bool opencl_v12;
double nvidia_spin_damp; double nvidia_spin_damp;
cl_platform_id platform; cl_platform_id platform;

View File

@ -3541,6 +3541,8 @@ int hwmon_ctx_init (hashcat_ctx_t *hashcat_ctx)
if (device_param->skipped) continue; if (device_param->skipped) continue;
if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) continue;
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)
@ -3738,6 +3740,8 @@ int hwmon_ctx_init (hashcat_ctx_t *hashcat_ctx)
if (device_param->skipped) continue; if (device_param->skipped) continue;
if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) continue;
if (hwmon_ctx->hm_device[device_id].fan_get_supported == true) if (hwmon_ctx->hm_device[device_id].fan_get_supported == true)
{ {
const int fanspeed = hm_get_fanspeed_with_device_id (hashcat_ctx, device_id); const int fanspeed = hm_get_fanspeed_with_device_id (hashcat_ctx, device_id);
@ -3817,6 +3821,8 @@ void hwmon_ctx_destroy (hashcat_ctx_t *hashcat_ctx)
if (device_param->skipped) continue; if (device_param->skipped) continue;
if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) continue;
if (hwmon_ctx->hm_device[device_id].fan_set_supported == true) if (hwmon_ctx->hm_device[device_id].fan_set_supported == true)
{ {
int rc = -1; int rc = -1;
@ -3861,6 +3867,8 @@ void hwmon_ctx_destroy (hashcat_ctx_t *hashcat_ctx)
if (device_param->skipped) continue; if (device_param->skipped) continue;
if ((opencl_ctx->devices_param[device_id].device_type & CL_DEVICE_TYPE_GPU) == 0) continue;
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)

View File

@ -2271,7 +2271,11 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
cl_uint platform_vendor_id = 0; cl_uint platform_vendor_id = 0;
if (strcmp (platform_vendor, CL_VENDOR_AMD) == 0) if (strcmp (platform_vendor, CL_VENDOR_AMD1) == 0)
{
platform_vendor_id = VENDOR_ID_AMD;
}
else if (strcmp (platform_vendor, CL_VENDOR_AMD2) == 0)
{ {
platform_vendor_id = VENDOR_ID_AMD; platform_vendor_id = VENDOR_ID_AMD;
} }
@ -2385,7 +2389,11 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
cl_uint device_vendor_id = 0; cl_uint device_vendor_id = 0;
if (strcmp (device_vendor, CL_VENDOR_AMD) == 0) if (strcmp (device_vendor, CL_VENDOR_AMD1) == 0)
{
device_vendor_id = VENDOR_ID_AMD;
}
else if (strcmp (device_vendor, CL_VENDOR_AMD2) == 0)
{ {
device_vendor_id = VENDOR_ID_AMD; device_vendor_id = VENDOR_ID_AMD;
} }
@ -2452,8 +2460,6 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
device_param->device_opencl_version = device_opencl_version; device_param->device_opencl_version = device_opencl_version;
device_param->opencl_v12 = device_opencl_version[9] > '1' || device_opencl_version[11] >= '2';
// max_compute_units // max_compute_units
cl_uint device_processors; cl_uint device_processors;