From 79b6d4b9da55f0d51a949b082a348e428c4348ed Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 15 Sep 2021 04:39:04 -0700 Subject: [PATCH] ircd::gpt::pipe: Unify descriptor allocations. --- include/ircd/gpt/pipe/desc.h | 1 + ircd/gpt_pipe.cc | 45 ++++++++++++++++++++++++++++-------- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/include/ircd/gpt/pipe/desc.h b/include/ircd/gpt/pipe/desc.h index dc2df2623..1fd13b3ad 100644 --- a/include/ircd/gpt/pipe/desc.h +++ b/include/ircd/gpt/pipe/desc.h @@ -20,6 +20,7 @@ struct ircd::gpt::pipe::desc pipe::code *code; cl::data + master, state, // qry/key/val projection (tokens * embed * 3 * float) accum, // accumulator (tokens * embed * float) logit, // result logit vector (50257 * float) diff --git a/ircd/gpt_pipe.cc b/ircd/gpt_pipe.cc index 87ceceb25..6302da489 100644 --- a/ircd/gpt_pipe.cc +++ b/ircd/gpt_pipe.cc @@ -453,30 +453,55 @@ ircd::gpt::pipe::desc::desc(pipe::code &code, { &code } +,master +{ + 0 + + 512 * 3 * 768 * sizeof(float) + + 512 * 768 * sizeof(float) + + 65536 * sizeof(float) + + 65536 * sizeof(float) + + 65536 * sizeof(float) + ,mutable_buffer{} +} ,state { - 512 * 3 * 768 * sizeof(float), - mutable_buffer{} + master, + { + 512 * 3 * 768 * sizeof(float), + off_t(0), + }, } ,accum { - 512 * 768 * sizeof(float), - mutable_buffer{} + master, + { + 512 * 768 * sizeof(float), + state.offset() + off_t(state.size()), + }, } ,logit { - 65536 * sizeof(float), - mutable_buffer{} + master, + { + 65536 * sizeof(float), + accum.offset() + off_t(accum.size()), + }, } ,logexp { - 65536 * sizeof(float), - mutable_buffer{} + master, + { + 65536 * sizeof(float), + logit.offset() + off_t(logit.size()), + }, } ,logsm { - 65536 * sizeof(float), - mutable_buffer{} + master, + { + 65536 * sizeof(float), + logexp.offset() + off_t(logexp.size()), + }, } ,ctrl {