File tree Expand file tree Collapse file tree 1 file changed +4
-12
lines changed Expand file tree Collapse file tree 1 file changed +4
-12
lines changed Original file line number Diff line number Diff line change @@ -17170,18 +17170,10 @@ static size_t llama_output_reserve(llama_context & lctx, size_t n_outputs) {
17170
17170
17171
17171
auto * buft = ggml_backend_cpu_buffer_type();
17172
17172
// try to use the host buffer of the device where the output tensor is allocated for faster transfer to system memory
17173
- ggml_tensor * output_tensor = lctx.model.output;
17174
- if (!output_tensor) {
17175
- // bert models don't have an output tensor, use the last layer
17176
- output_tensor = lctx.model.layers.back().layer_out_norm;
17177
- }
17178
- if (output_tensor) {
17179
- auto * output_buft = ggml_backend_buffer_get_type(output_tensor->buffer);
17180
- auto * output_dev = ggml_backend_buft_get_device(output_buft);
17181
- auto * output_dev_host_buft = ggml_backend_dev_host_buffer_type(output_dev);
17182
- if (output_dev_host_buft) {
17183
- buft = output_dev_host_buft;
17184
- }
17173
+ auto * output_dev = lctx.model.dev_output.dev;
17174
+ auto * output_dev_host_buft = output_dev ? ggml_backend_dev_host_buffer_type(output_dev) : nullptr;
17175
+ if (output_dev_host_buft) {
17176
+ buft = output_dev_host_buft;
17185
17177
}
17186
17178
lctx.buf_output = ggml_backend_buft_alloc_buffer(buft, new_size);
17187
17179
if (lctx.buf_output == nullptr) {
You can’t perform that action at this time.
0 commit comments