File tree Expand file tree Collapse file tree 1 file changed +3
-14
lines changed Expand file tree Collapse file tree 1 file changed +3
-14
lines changed Original file line number Diff line number Diff line change 1
1
#include " common.h"
2
2
#include " ggml.h"
3
+ #include " ggml-impl.h"
3
4
4
5
#include < locale.h>
5
6
#include < assert.h>
@@ -38,18 +39,6 @@ typedef struct {
38
39
int8_t qs[QK8_0]; // quants
39
40
} block_q8_0;
40
41
41
- static inline float ggml_compute_fp16_to_fp32 (uint16_t h) {
42
- #if defined(__ARM_NEON)
43
- __fp16 tmp;
44
- memcpy (&tmp, &h, sizeof (uint16_t ));
45
- return (float ) tmp;
46
- #else
47
- uint16_t tmp;
48
- memcpy (&tmp, &h, sizeof (uint16_t ));
49
- return (float ) tmp;
50
- #endif
51
- }
52
-
53
42
static float tensor_sum_elements (const ggml_tensor * tensor) {
54
43
double sum = 0 ;
55
44
float floatvalue = 0 ;
@@ -75,7 +64,7 @@ static float tensor_sum_elements(const ggml_tensor * tensor) {
75
64
for (int j = 0 ; j < tensor->ne [1 ]; j++) {
76
65
for (int k = 0 ; k < tensor->ne [0 ]; k++) {
77
66
shortvalue = ((unsigned short *) tensor->data )[j * tensor->ne [0 ] + k];
78
- floatvalue = ggml_compute_fp16_to_fp32 (shortvalue);
67
+ floatvalue = GGML_FP16_TO_FP32 (shortvalue);
79
68
sum += floatvalue;
80
69
}
81
70
}
@@ -87,7 +76,7 @@ static float tensor_sum_elements(const ggml_tensor * tensor) {
87
76
for (int j = 0 ; j < tensor->ne [1 ]; j++) {
88
77
blocks = tensor->ne [0 ] / QK8_0;
89
78
for (int i = 0 ; i < blocks; i++) {
90
- floatvalue = ggml_compute_fp16_to_fp32 (quant_datas[j * blocks + i].d );
79
+ floatvalue = GGML_FP16_TO_FP32 (quant_datas[j * blocks + i].d );
91
80
for (int k = 0 ; k < QK8_0; k++) {
92
81
sum += (quant_datas[j * blocks + i].qs [k] * floatvalue);
93
82
}
You can’t perform that action at this time.
0 commit comments