From a7d8fe17ca9bfc3d11b7a46f84c142990cb40c6f Mon Sep 17 00:00:00 2001 From: Bernd Machenschalk <bernd.machenschalk@aei.mpg.de> Date: Fri, 9 Aug 2024 12:58:13 +0200 Subject: [PATCH] (OpenCL) API: add support for Apple GPU --- api/boinc_opencl.cpp | 4 ++++ lib/coproc.cpp | 3 +++ lib/coproc.h | 4 +++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/api/boinc_opencl.cpp b/api/boinc_opencl.cpp index f31b73d094..976fff33ae 100644 --- a/api/boinc_opencl.cpp +++ b/api/boinc_opencl.cpp @@ -75,6 +75,10 @@ int get_vendor(cl_device_id device_id, char* vendor, int len) { strlcpy(vendor, GPU_TYPE_INTEL, len); // "intel_gpu" } + if (strcasestr(vendor, "apple")) { + strlcpy(vendor, GPU_TYPE_APPLE, len); // "intel_gpu" + } + return 0; } diff --git a/lib/coproc.cpp b/lib/coproc.cpp index 083288c2c0..13f4516462 100644 --- a/lib/coproc.cpp +++ b/lib/coproc.cpp @@ -212,6 +212,7 @@ void COPROCS::summary_string(char* buf, int len) { if (type == PROC_TYPE_NVIDIA_GPU) continue; if (type == PROC_TYPE_AMD_GPU) continue; if (type == PROC_TYPE_INTEL_GPU) continue; + if (type == PROC_TYPE_APPLE_GPU) continue; if (!strlen(cp.opencl_prop.name)) continue; snprintf(buf2, sizeof(buf2), "[opencl_gpu|%s|%d|%dMB|%d]", @@ -1020,6 +1021,7 @@ const char* proc_type_name_xml(int pt) { case PROC_TYPE_NVIDIA_GPU: return "NVIDIA"; case PROC_TYPE_AMD_GPU: return "ATI"; case PROC_TYPE_INTEL_GPU: return "intel_gpu"; + case PROC_TYPE_APPLE_GPU: return "apple_gpu"; case PROC_TYPE_MINER_ASIC: return "miner_asic"; } return "unknown"; @@ -1031,6 +1033,7 @@ const char* proc_type_name(int pt) { case PROC_TYPE_NVIDIA_GPU: return "NVIDIA GPU"; case PROC_TYPE_AMD_GPU: return "AMD/ATI GPU"; case PROC_TYPE_INTEL_GPU: return "Intel GPU"; + case PROC_TYPE_APPLE_GPU: return "Apple GPU"; case PROC_TYPE_MINER_ASIC: return "Miner ASIC"; } return "unknown"; diff --git a/lib/coproc.h b/lib/coproc.h index f23db843de..c2abf441c6 100644 --- a/lib/coproc.h +++ b/lib/coproc.h @@ -107,7 +107,8 @@ #define PROC_TYPE_AMD_GPU 2 #define PROC_TYPE_INTEL_GPU 3 #define PROC_TYPE_MINER_ASIC 4 -#define NPROC_TYPES 5 +#define PROC_TYPE_APPLE_GPU 5 +#define NPROC_TYPES 6 extern const char* proc_type_name(int); // user-readable name @@ -119,6 +120,7 @@ extern int coproc_type_name_to_num(const char* name); #define GPU_TYPE_NVIDIA proc_type_name_xml(PROC_TYPE_NVIDIA_GPU) #define GPU_TYPE_ATI proc_type_name_xml(PROC_TYPE_AMD_GPU) #define GPU_TYPE_INTEL proc_type_name_xml(PROC_TYPE_INTEL_GPU) +#define GPU_TYPE_APPLE proc_type_name_xml(PROC_TYPE_APPLE_GPU) // represents a requirement for a coproc. // This is a parsed version of the <coproc> elements in an <app_version> -- GitLab