mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-11-18 11:46:58 +00:00
* SYCL: Add COUNT_EQUAL operator support (rebased on master) * SYCL: remove duplicate op_count_equal definition * tests: remove test_count_equal_typed and use test_count_equal for all cases * tests: keep only I32 case for COUNT_EQUAL as suggested * tests: keep only I32 case for COUNT_EQUAL as requested
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#ifndef GGML_SYCL_BINBCAST_HPP
|
|
#define GGML_SYCL_BINBCAST_HPP
|
|
#include "common.hpp"
|
|
|
|
|
|
static __dpct_inline__ float op_repeat(const float a, const float b) {
|
|
return b;
|
|
GGML_UNUSED(a);
|
|
}
|
|
|
|
static __dpct_inline__ float op_add(const float a, const float b) {
|
|
return a + b;
|
|
}
|
|
|
|
static __dpct_inline__ float op_sub(const float a, const float b) {
|
|
return a - b;
|
|
}
|
|
|
|
static __dpct_inline__ float op_count_equal(const float a, const float b) {
|
|
return (a == b) ? 1.0f : 0.0f;
|
|
}
|
|
|
|
void ggml_sycl_count_equal(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
|
|
|
|
static __dpct_inline__ float op_mul(const float a, const float b) {
|
|
return a * b;
|
|
}
|
|
|
|
static __dpct_inline__ float op_div(const float a, const float b) {
|
|
return a / b;
|
|
}
|
|
|
|
void ggml_sycl_add(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
|
|
|
|
void ggml_sycl_sub(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
|
|
|
|
void ggml_sycl_mul(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
|
|
|
|
void ggml_sycl_div(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
|
|
|
|
void ggml_sycl_repeat(ggml_backend_sycl_context & ctx, ggml_tensor * dst);
|
|
|
|
|
|
#endif //GGML_SYCL_BINBCAST_HPP
|
|
|