#include "ggml-et-memops.h"
#include "ggml-et-kernels.h"
#include "ggml-impl.h"
struct memset_params {
uint32_t op_type; uint32_t value; void * dst_ptr; size_t size; };
bool ggml_et_memset(ggml_backend_et_device_context * dev_ctx, void * dst_ptr, uint8_t value, size_t size) {
if (!dev_ctx || !dst_ptr || size == 0) {
GGML_LOG_ERROR("ET: Invalid memset parameters\n");
return false;
}
memset_params params;
params.op_type = GGML_ET_MEMOP_MEMSET;
params.value = value;
params.dst_ptr = dst_ptr;
params.size = size;
bool success = ggml_et_launch_kernel(dev_ctx, "memops", ¶ms, sizeof(params));
if (!success) {
GGML_LOG_ERROR("ET: memset kernel launch failed\n");
return false;
}
return true;
}