diff --git a/src/backend/opencl/generators/ocl_generic_rx_generator.cpp b/src/backend/opencl/generators/ocl_generic_rx_generator.cpp index dbe8d5f18..593d52dba 100644 --- a/src/backend/opencl/generators/ocl_generic_rx_generator.cpp +++ b/src/backend/opencl/generators/ocl_generic_rx_generator.cpp @@ -29,6 +29,7 @@ #include "crypto/common/Algorithm.h" #include "crypto/randomx/randomx.h" #include "crypto/rx/RxAlgo.h" +#include "base/io/log/Log.h" namespace xmrig { @@ -40,6 +41,12 @@ bool ocl_generic_rx_generator(const OclDevice &device, const Algorithm &algorith return false; } + // Mobile Ryzen APUs + if (device.type() == OclDevice::Raven) { + threads.add(OclThread(device.index(), (device.computeUnits() > 4) ? 256 : 128, 8, 1, true, true, 6)); + return true; + } + const size_t mem = device.globalMemSize(); auto config = RxAlgo::base(algorithm); bool gcnAsm = false; diff --git a/src/backend/opencl/runners/OclRxBaseRunner.cpp b/src/backend/opencl/runners/OclRxBaseRunner.cpp index 36a31e1b7..eb0ddd51d 100644 --- a/src/backend/opencl/runners/OclRxBaseRunner.cpp +++ b/src/backend/opencl/runners/OclRxBaseRunner.cpp @@ -52,7 +52,7 @@ xmrig::OclRxBaseRunner::OclRxBaseRunner(size_t index, const OclLaunchData &data) m_worksize = 8; } - if (data.device.type() == OclDevice::Vega_10 || data.device.type() == OclDevice::Vega_20) { + if (data.device.type() == OclDevice::Vega_10 || data.device.type() == OclDevice::Vega_20 || data.device.type() == OclDevice::Raven) { m_gcn_version = 14; }