Final touches
This commit is contained in:
parent
52b0652601
commit
0b602f0ecd
2 changed files with 12 additions and 2 deletions
|
@ -1,5 +1,4 @@
|
||||||
#include "binbcast.hpp"
|
#include "binbcast.hpp"
|
||||||
#include "common.hpp"
|
|
||||||
|
|
||||||
static __dpct_inline__ float op_repeat(const float a, const float b) {
|
static __dpct_inline__ float op_repeat(const float a, const float b) {
|
||||||
return b;
|
return b;
|
||||||
|
|
|
@ -309,6 +309,7 @@ static void ggml_backend_sycl_buffer_set_tensor(ggml_backend_buffer_t buffer,
|
||||||
ggml_tensor *tensor,
|
ggml_tensor *tensor,
|
||||||
const void *data, size_t offset,
|
const void *data, size_t offset,
|
||||||
size_t size) try {
|
size_t size) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
|
|
||||||
ggml_backend_sycl_buffer_context * ctx = ( ggml_backend_sycl_buffer_context *)buffer->context;
|
ggml_backend_sycl_buffer_context * ctx = ( ggml_backend_sycl_buffer_context *)buffer->context;
|
||||||
|
|
||||||
|
@ -333,6 +334,7 @@ static void ggml_backend_sycl_buffer_get_tensor(ggml_backend_buffer_t buffer,
|
||||||
const ggml_tensor *tensor,
|
const ggml_tensor *tensor,
|
||||||
void *data, size_t offset,
|
void *data, size_t offset,
|
||||||
size_t size) try {
|
size_t size) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
|
|
||||||
ggml_backend_sycl_buffer_context * ctx = ( ggml_backend_sycl_buffer_context *)buffer->context;
|
ggml_backend_sycl_buffer_context * ctx = ( ggml_backend_sycl_buffer_context *)buffer->context;
|
||||||
|
|
||||||
|
@ -361,6 +363,7 @@ static bool
|
||||||
ggml_backend_sycl_buffer_cpy_tensor(ggml_backend_buffer_t buffer,
|
ggml_backend_sycl_buffer_cpy_tensor(ggml_backend_buffer_t buffer,
|
||||||
const ggml_tensor *src,
|
const ggml_tensor *src,
|
||||||
ggml_tensor *dst) try {
|
ggml_tensor *dst) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
if (ggml_backend_buffer_is_sycl(src->buffer)) {
|
if (ggml_backend_buffer_is_sycl(src->buffer)) {
|
||||||
ggml_backend_sycl_buffer_context * src_ctx = (ggml_backend_sycl_buffer_context *)src->buffer->context;
|
ggml_backend_sycl_buffer_context * src_ctx = (ggml_backend_sycl_buffer_context *)src->buffer->context;
|
||||||
ggml_backend_sycl_buffer_context * dst_ctx = (ggml_backend_sycl_buffer_context *)dst->buffer->context;
|
ggml_backend_sycl_buffer_context * dst_ctx = (ggml_backend_sycl_buffer_context *)dst->buffer->context;
|
||||||
|
@ -418,6 +421,7 @@ ggml_backend_sycl_buffer_cpy_tensor(ggml_backend_buffer_t buffer,
|
||||||
|
|
||||||
static void ggml_backend_sycl_buffer_clear(ggml_backend_buffer_t buffer,
|
static void ggml_backend_sycl_buffer_clear(ggml_backend_buffer_t buffer,
|
||||||
uint8_t value) try {
|
uint8_t value) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
ggml_backend_sycl_buffer_context * ctx = (ggml_backend_sycl_buffer_context *) buffer->context;
|
ggml_backend_sycl_buffer_context * ctx = (ggml_backend_sycl_buffer_context *) buffer->context;
|
||||||
|
|
||||||
ggml_sycl_set_device(ctx->device);
|
ggml_sycl_set_device(ctx->device);
|
||||||
|
@ -465,6 +469,7 @@ static const char * ggml_backend_sycl_buffer_type_get_name(ggml_backend_buffer_t
|
||||||
static ggml_backend_buffer_t
|
static ggml_backend_buffer_t
|
||||||
ggml_backend_sycl_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft,
|
ggml_backend_sycl_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft,
|
||||||
size_t size) try {
|
size_t size) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
ggml_backend_sycl_buffer_type_context * buft_ctx = (ggml_backend_sycl_buffer_type_context *)buft->context;
|
ggml_backend_sycl_buffer_type_context * buft_ctx = (ggml_backend_sycl_buffer_type_context *)buft->context;
|
||||||
ggml_sycl_set_device(buft_ctx->device);
|
ggml_sycl_set_device(buft_ctx->device);
|
||||||
const queue_ptr stream = buft_ctx->stream;
|
const queue_ptr stream = buft_ctx->stream;
|
||||||
|
@ -708,6 +713,7 @@ static void * ggml_backend_sycl_split_buffer_get_base(ggml_backend_buffer_t buff
|
||||||
static void
|
static void
|
||||||
ggml_backend_sycl_split_buffer_init_tensor(ggml_backend_buffer_t buffer,
|
ggml_backend_sycl_split_buffer_init_tensor(ggml_backend_buffer_t buffer,
|
||||||
ggml_tensor *tensor) try {
|
ggml_tensor *tensor) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
GGML_ASSERT(tensor->view_src == nullptr); // views of split tensors are not supported
|
GGML_ASSERT(tensor->view_src == nullptr); // views of split tensors are not supported
|
||||||
|
|
||||||
ggml_backend_sycl_split_buffer_context * ctx = (ggml_backend_sycl_split_buffer_context *)buffer->context;
|
ggml_backend_sycl_split_buffer_context * ctx = (ggml_backend_sycl_split_buffer_context *)buffer->context;
|
||||||
|
@ -791,6 +797,7 @@ static void
|
||||||
ggml_backend_sycl_split_buffer_set_tensor(ggml_backend_buffer_t buffer,
|
ggml_backend_sycl_split_buffer_set_tensor(ggml_backend_buffer_t buffer,
|
||||||
ggml_tensor *tensor, const void *data,
|
ggml_tensor *tensor, const void *data,
|
||||||
size_t offset, size_t size) try {
|
size_t offset, size_t size) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
// split tensors must always be set in their entirety at once
|
// split tensors must always be set in their entirety at once
|
||||||
GGML_ASSERT(offset == 0);
|
GGML_ASSERT(offset == 0);
|
||||||
GGML_ASSERT(size == ggml_nbytes(tensor));
|
GGML_ASSERT(size == ggml_nbytes(tensor));
|
||||||
|
@ -844,6 +851,7 @@ static void
|
||||||
ggml_backend_sycl_split_buffer_get_tensor(ggml_backend_buffer_t buffer,
|
ggml_backend_sycl_split_buffer_get_tensor(ggml_backend_buffer_t buffer,
|
||||||
const ggml_tensor *tensor, void *data,
|
const ggml_tensor *tensor, void *data,
|
||||||
size_t offset, size_t size) try {
|
size_t offset, size_t size) try {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
// split tensors must always be set in their entirety at once
|
// split tensors must always be set in their entirety at once
|
||||||
GGML_ASSERT(offset == 0);
|
GGML_ASSERT(offset == 0);
|
||||||
GGML_ASSERT(size == ggml_nbytes(tensor));
|
GGML_ASSERT(size == ggml_nbytes(tensor));
|
||||||
|
@ -894,6 +902,7 @@ catch (sycl::exception const &exc) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ggml_backend_sycl_split_buffer_clear(ggml_backend_buffer_t buffer, uint8_t value) {
|
static void ggml_backend_sycl_split_buffer_clear(ggml_backend_buffer_t buffer, uint8_t value) {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
GGML_UNUSED(buffer);
|
GGML_UNUSED(buffer);
|
||||||
GGML_UNUSED(value);
|
GGML_UNUSED(value);
|
||||||
}
|
}
|
||||||
|
@ -1017,10 +1026,12 @@ static const char * ggml_backend_sycl_host_buffer_type_name(ggml_backend_buffer_
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ggml_backend_sycl_host_buffer_free_buffer(ggml_backend_buffer_t buffer) {
|
static void ggml_backend_sycl_host_buffer_free_buffer(ggml_backend_buffer_t buffer) {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
ggml_sycl_host_free(buffer->context);
|
ggml_sycl_host_free(buffer->context);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ggml_backend_buffer_t ggml_backend_sycl_host_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) {
|
static ggml_backend_buffer_t ggml_backend_sycl_host_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) {
|
||||||
|
GGML_SYCL_DEBUG("[SYCL] call %s", __func__);
|
||||||
void * ptr = ggml_sycl_host_malloc(size);
|
void * ptr = ggml_sycl_host_malloc(size);
|
||||||
|
|
||||||
if (ptr == nullptr) {
|
if (ptr == nullptr) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue