mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-31 08:54:19 +00:00
Add BitBlock kernel
This commit is contained in:
parent
6f8d38ee11
commit
18e0ed0042
98
algorithm.c
98
algorithm.c
@ -26,6 +26,7 @@
|
|||||||
#include "algorithm/marucoin.h"
|
#include "algorithm/marucoin.h"
|
||||||
#include "algorithm/maxcoin.h"
|
#include "algorithm/maxcoin.h"
|
||||||
#include "algorithm/talkcoin.h"
|
#include "algorithm/talkcoin.h"
|
||||||
|
#include "algorithm/bitblock.h"
|
||||||
|
|
||||||
#include "compat.h"
|
#include "compat.h"
|
||||||
|
|
||||||
@ -197,6 +198,103 @@ static cl_int queue_darkcoin_mod_kernel(struct __clState *clState, struct _dev_b
|
|||||||
return status;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
static cl_int queue_bitblockold_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);
|
||||||
|
// combined echo, hamsi, fugue - shabal - whirlpool - search10
|
||||||
|
num = 0;
|
||||||
|
CL_NEXTKERNEL_SET_ARG(clState->padbuffer8);
|
||||||
|
CL_SET_ARG(clState->outputBuffer);
|
||||||
|
CL_SET_ARG(le_target);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static cl_int queue_marucoin_mod_kernel(struct __clState *clState, struct _dev_blk_ctx *blk, __maybe_unused cl_uint threads)
|
static cl_int queue_marucoin_mod_kernel(struct __clState *clState, struct _dev_blk_ctx *blk, __maybe_unused cl_uint threads)
|
||||||
{
|
{
|
||||||
cl_kernel *kernel;
|
cl_kernel *kernel;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user