Implemented cn0 kernel launch.

This commit is contained in:
XMRig 2019-09-01 07:05:49 +07:00
parent ce3e2401cb
commit b541960611
15 changed files with 108 additions and 49 deletions

View file

@ -32,6 +32,16 @@ xmrig::Cn0Kernel::Cn0Kernel(cl_program program) : OclKernel(program, "cn0")
}
bool xmrig::Cn0Kernel::enqueue(cl_command_queue queue, uint32_t nonce, size_t threads)
{
const size_t offset[2] = { nonce, 1 };
const size_t gthreads[2] = { threads, 8 };
static const size_t lthreads[2] = { 8, 8 };
return enqueueNDRange(queue, 2, offset, gthreads, lthreads);
}
// __kernel void cn0(__global ulong *input, __global uint4 *Scratchpad, __global ulong *states, uint Threads)
bool xmrig::Cn0Kernel::setArgs(cl_mem input, cl_mem scratchpads, cl_mem states, uint32_t threads)
{

View file

@ -29,9 +29,6 @@
#include "backend/opencl/wrappers/OclKernel.h"
typedef struct _cl_mem *cl_mem;
namespace xmrig {
@ -39,6 +36,7 @@ class Cn0Kernel : public OclKernel
{
public:
Cn0Kernel(cl_program program);
bool enqueue(cl_command_queue queue, uint32_t nonce, size_t threads);
bool setArgs(cl_mem input, cl_mem scratchpads, cl_mem states, uint32_t threads);
};