Skip to content

Commit a756fed

Browse files
committed
GPU bug fix
1 parent 13bd6b7 commit a756fed

File tree

3 files changed

+19
-10
lines changed

3 files changed

+19
-10
lines changed

src/DAG/dag.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -294,11 +294,8 @@ size_t RAI_DagOpBatchSize(RAI_DagOp *op, RedisAI_RunInfo *rinfo) {
294294
}
295295

296296
size_t ninputs = array_len(op->inkeys);
297-
size_t batchsize = 0;
297+
int batchsize = 0;
298298

299-
if (!rinfo->single_op_dag) {
300-
RAI_ContextReadLock(rinfo);
301-
}
302299
for (size_t i = 0; i < ninputs; i++) {
303300
RAI_Tensor *input;
304301
if (rinfo->single_op_dag) {
@@ -322,9 +319,6 @@ size_t RAI_DagOpBatchSize(RAI_DagOp *op, RedisAI_RunInfo *rinfo) {
322319
break;
323320
}
324321
}
325-
if (!rinfo->single_op_dag) {
326-
RAI_ContextUnlock(rinfo);
327-
}
328322
return batchsize;
329323
}
330324

@@ -454,7 +448,10 @@ void RedisAI_DagOpBatchInfo(RedisAI_RunInfo *rinfo, RAI_DagOp *op, size_t *batch
454448
*batchsize = op->mctx->model->opts.batchsize;
455449
*minbatchsize = op->mctx->model->opts.minbatchsize;
456450
*minbatchtimeout = op->mctx->model->opts.minbatchtimeout;
451+
452+
RAI_ContextReadLock(rinfo);
457453
*inbatchsize = RAI_DagOpBatchSize(op, rinfo);
454+
RAI_ContextUnlock(rinfo);
458455
}
459456

460457
void RedisAI_DagOpBatchingMatch(RedisAI_RunInfo *rinfo1, RAI_DagOp *op1, RedisAI_RunInfo *rinfo2,

src/command_parser.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ static int _ModelRunCommand_ParseArgs(RedisModuleCtx *ctx, RedisModuleString **a
3434
RAI_SetError(error, RAI_EMODELRUN, "ERR Model not found");
3535
return REDISMODULE_ERR;
3636
}
37-
RedisModule_HoldString(NULL, argv[argpos]);
37+
if (RMAPI_FUNC_SUPPORTED(RedisModule_HoldString)) {
38+
RedisModule_HoldString(NULL, argv[argpos]);
39+
} else {
40+
RedisModule_RetainString(NULL, argv[argpos]);
41+
}
3842
*runkey = argv[argpos];
3943
const char *arg_string = RedisModule_StringPtrLen(argv[++argpos], NULL);
4044

@@ -58,7 +62,11 @@ static int _ModelRunCommand_ParseArgs(RedisModuleCtx *ctx, RedisModuleString **a
5862
is_input = false;
5963
is_output = true;
6064
} else {
61-
RedisModule_HoldString(NULL, argv[argpos]);
65+
if (RMAPI_FUNC_SUPPORTED(RedisModule_HoldString)) {
66+
RedisModule_HoldString(NULL, argv[argpos]);
67+
} else {
68+
RedisModule_RetainString(NULL, argv[argpos]);
69+
}
6270
if (is_input) {
6371
ninputs++;
6472
*inkeys = array_append(*inkeys, argv[argpos]);

src/modelRun_ctx.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ int RedisAI_Parse_ModelRun_RedisCommand(RedisModuleCtx *ctx, RedisModuleString *
9898
is_input = 1;
9999
outputs_flag_count = 1;
100100
} else {
101-
RedisModule_HoldString(ctx, argv[argpos]);
101+
if (RMAPI_FUNC_SUPPORTED(RedisModule_HoldString)) {
102+
RedisModule_HoldString(NULL, argv[argpos]);
103+
} else {
104+
RedisModule_RetainString(NULL, argv[argpos]);
105+
}
102106
if (is_input == 0) {
103107
*inkeys = array_append(*inkeys, argv[argpos]);
104108
ninputs++;

0 commit comments

Comments
 (0)