static cl_int queue_fresh_kernel(struct __clState *clState, struct _dev_blk_ctx *blk, __maybe_unused cl_uint threads) { cl_kernel *kernel; unsigned int num; cl_ulong le_target; cl_int status = 0; le_target = *(cl_ulong *)(blk->work->device_target + 24); flip80(clState->cldata, blk->work->data); status = clEnqueueWriteBuffer(clState->commandQueue, clState->CLbuffer0, true, 0, 80, clState->cldata, 0, NULL,NULL); // shavite 1 - search kernel = &clState->kernel; num = 0; CL_SET_ARG(clState->CLbuffer0); CL_SET_ARG(clState->padbuffer8); // smid 1 - search1 kernel = clState->extra_kernels; CL_SET_ARG_0(clState->padbuffer8); // shavite 2 - search2 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // smid 2 - search3 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // echo - search4 num = 0; CL_NEXTKERNEL_SET_ARG(clState->padbuffer8); CL_SET_ARG(clState->outputBuffer); CL_SET_ARG(le_target); return status; }
static cl_int queue_lyra2rev2_kernel(struct __clState *clState, struct _dev_blk_ctx *blk, __maybe_unused cl_uint threads) { cl_kernel *kernel; unsigned int num; cl_int status = 0; cl_ulong le_target; // le_target = *(cl_uint *)(blk->work->device_target + 28); le_target = *(cl_ulong *)(blk->work->device_target + 24); flip80(clState->cldata, blk->work->data); status = clEnqueueWriteBuffer(clState->commandQueue, clState->CLbuffer0, true, 0, 80, clState->cldata, 0, NULL, NULL); // blake - search kernel = &clState->kernel; num = 0; // CL_SET_ARG(clState->CLbuffer0); CL_SET_ARG(clState->buffer1); CL_SET_ARG(blk->work->blk.ctx_a); CL_SET_ARG(blk->work->blk.ctx_b); CL_SET_ARG(blk->work->blk.ctx_c); CL_SET_ARG(blk->work->blk.ctx_d); CL_SET_ARG(blk->work->blk.ctx_e); CL_SET_ARG(blk->work->blk.ctx_f); CL_SET_ARG(blk->work->blk.ctx_g); CL_SET_ARG(blk->work->blk.ctx_h); CL_SET_ARG(blk->work->blk.cty_a); CL_SET_ARG(blk->work->blk.cty_b); CL_SET_ARG(blk->work->blk.cty_c); // keccak - search1 kernel = clState->extra_kernels; CL_SET_ARG_0(clState->buffer1); // cubehash - search2 num = 0; CL_NEXTKERNEL_SET_ARG_0(clState->buffer1); // lyra - search3 num = 0; CL_NEXTKERNEL_SET_ARG_N(0, clState->buffer1); CL_SET_ARG_N(1, clState->padbuffer8); // skein -search4 num = 0; CL_NEXTKERNEL_SET_ARG_0(clState->buffer1); // cubehash - search5 num = 0; CL_NEXTKERNEL_SET_ARG_0(clState->buffer1); // bmw - search6 num = 0; CL_NEXTKERNEL_SET_ARG(clState->buffer1); CL_SET_ARG(clState->outputBuffer); CL_SET_ARG(le_target); return status; }
static cl_int queue_bitblock_kernel(struct __clState *clState, struct _dev_blk_ctx *blk, __maybe_unused cl_uint threads) { cl_kernel *kernel; unsigned int num; cl_ulong le_target; cl_int status = 0; le_target = *(cl_ulong *)(blk->work->device_target + 24); flip80(clState->cldata, blk->work->data); status = clEnqueueWriteBuffer(clState->commandQueue, clState->CLbuffer0, true, 0, 80, clState->cldata, 0, NULL, NULL); // blake - search kernel = &clState->kernel; num = 0; CL_SET_ARG(clState->CLbuffer0); CL_SET_ARG(clState->padbuffer8); // bmw - search1 kernel = clState->extra_kernels; CL_SET_ARG_0(clState->padbuffer8); // groestl - search2 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // skein - search3 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // jh - search4 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // keccak - search5 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // luffa - search6 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // cubehash - search7 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // shavite - search8 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // simd - search9 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // echo - search10 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // hamsi - search11 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // fugue - search12 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // hamsi - search11 CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); // fugue - search12 num = 0; CL_NEXTKERNEL_SET_ARG(clState->padbuffer8); CL_SET_ARG(clState->outputBuffer); CL_SET_ARG(le_target); return status; }