Skip to content

Commit 93b8ddd

Browse files
committed
norm: add try catch sycl exception
1 parent 8375763 commit 93b8ddd

File tree

3 files changed

+33
-27
lines changed

3 files changed

+33
-27
lines changed

ggml/src/ggml-sycl/ggml-sycl.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2106,25 +2106,6 @@ catch (sycl::exception const &exc) {
21062106
std::exit(1);
21072107
}
21082108

2109-
2110-
static void ggml_sycl_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
2111-
GGML_SYCL_DEBUG("call %s\n", __func__);
2112-
ggml_sycl_op_norm(ctx, dst);
2113-
GGML_SYCL_DEBUG("call %s done\n", __func__);
2114-
}
2115-
2116-
static void ggml_sycl_rms_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
2117-
GGML_SYCL_DEBUG("call %s\n", __func__);
2118-
ggml_sycl_op_rms_norm(ctx, dst);
2119-
GGML_SYCL_DEBUG("call %s done\n", __func__);
2120-
}
2121-
2122-
static void ggml_sycl_group_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
2123-
GGML_SYCL_DEBUG("call %s\n", __func__);
2124-
ggml_sycl_op_group_norm(ctx, dst);
2125-
GGML_SYCL_DEBUG("call %s done\n", __func__);
2126-
}
2127-
21282109
static void ggml_sycl_mul_mat_vec_p021(ggml_backend_sycl_context & ctx, const ggml_tensor *src0,
21292110
const ggml_tensor *src1,
21302111
ggml_tensor *dst) try {

ggml/src/ggml-sycl/norm.cpp

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ static void rms_norm_f32_sycl(const float* x, float* dst, const int ncols,
311311
}
312312
}
313313

314-
void ggml_sycl_op_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
314+
static void ggml_sycl_op_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) try {
315315

316316
GGML_ASSERT(dst->src[0]->type == GGML_TYPE_F32);
317317
GGML_ASSERT(dst->type == GGML_TYPE_F32);
@@ -328,9 +328,12 @@ void ggml_sycl_op_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
328328
dpct::queue_ptr main_stream = ctx.stream();
329329

330330
norm_f32_sycl(src0_dd, dst_dd, ne00, nrows, eps, main_stream, ctx.device);
331+
} catch (const sycl::exception & exc) {
332+
std::cerr << exc.what() << "Exception caught at file:" << __FILE__ << ", line:" << __LINE__ << std::endl;
333+
std::exit(1);
331334
}
332335

333-
void ggml_sycl_op_group_norm(ggml_backend_sycl_context& ctx, ggml_tensor* dst) {
336+
static void ggml_sycl_op_group_norm(ggml_backend_sycl_context& ctx, ggml_tensor* dst) try {
334337

335338
GGML_ASSERT(dst->src[0]->type == GGML_TYPE_F32);
336339
GGML_ASSERT(dst->type == GGML_TYPE_F32);
@@ -346,9 +349,12 @@ void ggml_sycl_op_group_norm(ggml_backend_sycl_context& ctx, ggml_tensor* dst) {
346349
float * dst_dd = static_cast<float *>(dst->data);
347350
dpct::queue_ptr main_stream = ctx.stream();
348351
group_norm_f32_sycl(src0_dd, dst_dd, num_groups, eps, group_size, dst->src[0]->ne[0] * dst->src[0]->ne[1] * dst->src[0]->ne[2], main_stream, ctx.device);
352+
} catch (const sycl::exception & exc) {
353+
std::cerr << exc.what() << "Exception caught at file:" << __FILE__ << ", line:" << __LINE__ << std::endl;
354+
std::exit(1);
349355
}
350356

351-
void ggml_sycl_op_rms_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
357+
static void ggml_sycl_op_rms_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) try {
352358

353359
GGML_ASSERT(dst->src[0]->type == GGML_TYPE_F32);
354360
GGML_ASSERT(dst->type == GGML_TYPE_F32);
@@ -364,4 +370,25 @@ void ggml_sycl_op_rms_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
364370
dpct::queue_ptr main_stream = ctx.stream();
365371

366372
rms_norm_f32_sycl(src0_dd, dst_dd, ne00, nrows, eps, main_stream, ctx.device);
373+
} catch (const sycl::exception & exc) {
374+
std::cerr << exc.what() << "Exception caught at file:" << __FILE__ << ", line:" << __LINE__ << std::endl;
375+
std::exit(1);
367376
}
377+
378+
void ggml_sycl_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
379+
GGML_SYCL_DEBUG("call %s\n", __func__);
380+
ggml_sycl_op_norm(ctx, dst);
381+
GGML_SYCL_DEBUG("call %s done\n", __func__);
382+
}
383+
384+
void ggml_sycl_rms_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
385+
GGML_SYCL_DEBUG("call %s\n", __func__);
386+
ggml_sycl_op_rms_norm(ctx, dst);
387+
GGML_SYCL_DEBUG("call %s done\n", __func__);
388+
}
389+
390+
void ggml_sycl_group_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
391+
GGML_SYCL_DEBUG("call %s\n", __func__);
392+
ggml_sycl_op_group_norm(ctx, dst);
393+
GGML_SYCL_DEBUG("call %s done\n", __func__);
394+
}

ggml/src/ggml-sycl/norm.hpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515

1616
#include "common.hpp"
1717

18-
void ggml_sycl_op_norm(ggml_backend_sycl_context& ctx, ggml_tensor * dst);
19-
20-
void ggml_sycl_op_rms_norm(ggml_backend_sycl_context& ctx, ggml_tensor * dst);
21-
22-
void ggml_sycl_op_group_norm(ggml_backend_sycl_context& ctx, ggml_tensor * dst);
18+
void ggml_sycl_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
19+
void ggml_sycl_rms_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
20+
void ggml_sycl_group_norm(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
2321

2422
#endif // GGML_SYCL_NORM_HPP

0 commit comments

Comments
 (0)