Skip to content

Commit 0dd58b6

Browse files
authored
ggml : refactor forward_dup for cpu backend (#16062)
* ggml : refactor forward_dup for cpu backend * clean up a bit * add quant/dequant perf test
1 parent 69ffd89 commit 0dd58b6

File tree

3 files changed

+93
-854
lines changed

3 files changed

+93
-854
lines changed

ggml/src/ggml-cpu/common.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ static inline float bf16_to_f32(ggml_bf16_t x) {
2828
return GGML_BF16_TO_FP32(x);
2929
}
3030

31+
static inline float i32_to_f32(int32_t x) {
32+
return x;
33+
}
34+
35+
static inline int32_t f32_to_i32(float x) {
36+
return x;
37+
}
38+
3139
static inline float f32_to_f32(float x) {
3240
return x;
3341
}
@@ -54,6 +62,12 @@ struct type_conversion_table<ggml_bf16_t> {
5462
static constexpr ggml_bf16_t (*from_f32)(float) = f32_to_bf16;
5563
};
5664

65+
template <>
66+
struct type_conversion_table<int32_t> {
67+
static constexpr float (*to_f32)(int32_t) = i32_to_f32;
68+
static constexpr int32_t (*from_f32)(float) = f32_to_i32;
69+
};
70+
5771
static std::pair<int64_t, int64_t> get_thread_range(const struct ggml_compute_params * params, const struct ggml_tensor * src0) {
5872
const int64_t ith = params->ith;
5973
const int64_t nth = params->nth;

0 commit comments

Comments
 (0)