rwkv.cpp: Q4_1_O quantization test is not passing (Linux aarch64)

cmake -DBUILD_SHARED_LIBS=ON .
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_SYSTEM_PROCESSOR: aarch64
-- ARM detected
-- Configuring done
-- Generating done
-- Build files have been written to: /www/rwkv.cpp

BUT

/www/rwkv.cpp$ cmake --build . --config Release
[ 33%] Building C object CMakeFiles/ggml.dir/ggml.c.o
In file included from /www/rwkv.cpp/ggml.c:4:
/www/rwkv.cpp/ggml.h:836:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  836 | void ggml_run_test_suite();
      | ^~~~
/www/rwkv.cpp/ggml.c: In function ‘dequantize_row_q4_1’:
/www/rwkv.cpp/ggml.c:1086:13: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
 1086 |             const uint16x8_t vi_0 = vmovl_s8(vget_low_u8 (vq));
      |             ^~~~~
/www/rwkv.cpp/ggml.c:1086:46: error: incompatible type for argument 1 of ‘vmovl_s8’
 1086 |             const uint16x8_t vi_0 = vmovl_s8(vget_low_u8 (vq));
      |                                              ^~~~~~~~~~~~~~~~
      |                                              |
      |                                              uint8x8_t
In file included from /www/rwkv.cpp/ggml.c:193:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:7989:20: note: expected ‘int8x8_t’ but argument is of type ‘uint8x8_t’
 7989 | vmovl_s8 (int8x8_t __a)
      |           ~~~~~~~~~^~~
/www/rwkv.cpp/ggml.c:1087:46: error: incompatible type for argument 1 of ‘vmovl_s8’
 1087 |             const uint16x8_t vi_1 = vmovl_s8(vget_high_u8(vq));
      |                                              ^~~~~~~~~~~~~~~~
      |                                              |
      |                                              uint8x8_t
In file included from /www/rwkv.cpp/ggml.c:193:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:7989:20: note: expected ‘int8x8_t’ but argument is of type ‘uint8x8_t’
 7989 | vmovl_s8 (int8x8_t __a)
      |           ~~~~~~~~~^~~
/www/rwkv.cpp/ggml.c: In function ‘dequantize_row_q4_1_o’:
/www/rwkv.cpp/ggml.c:1304:46: error: incompatible type for argument 1 of ‘vmovl_s8’
 1304 |             const uint16x8_t vi_0 = vmovl_s8(vget_low_u8 (vq));
      |                                              ^~~~~~~~~~~~~~~~
      |                                              |
      |                                              uint8x8_t
In file included from /www/rwkv.cpp/ggml.c:193:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:7989:20: note: expected ‘int8x8_t’ but argument is of type ‘uint8x8_t’
 7989 | vmovl_s8 (int8x8_t __a)
      |           ~~~~~~~~~^~~
/www/rwkv.cpp/ggml.c:1305:46: error: incompatible type for argument 1 of ‘vmovl_s8’
 1305 |             const uint16x8_t vi_1 = vmovl_s8(vget_high_u8(vq));
      |                                              ^~~~~~~~~~~~~~~~
      |                                              |
      |                                              uint8x8_t
In file included from /www/rwkv.cpp/ggml.c:193:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:7989:20: note: expected ‘int8x8_t’ but argument is of type ‘uint8x8_t’
 7989 | vmovl_s8 (int8x8_t __a)
      |           ~~~~~~~~~^~~
/www/rwkv.cpp/ggml.c: In function ‘ggml_compute_forward_mul_mat_q4_1_o_f32’:
/www/rwkv.cpp/ggml.c:7144:15: warning: unused variable ‘ne10’ [-Wunused-variable]
 7144 |     const int ne10 = src1->ne[0];
      |               ^~~~
/www/rwkv.cpp/ggml.c: In function ‘ggml_test_quantization’:
/www/rwkv.cpp/ggml.c:11442:60: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11442 |     GGML_TEST_ASSERT(max_result == max_expected, "%f, %f", max_result, max_expected);
      |                                                            ^~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11442:72: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11442 |     GGML_TEST_ASSERT(max_result == max_expected, "%f, %f", max_result, max_expected);
      |                                                                        ^~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11453:64: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11453 |     GGML_TEST_ASSERT(delta_result == delta_expected, "%f, %f", delta_result, delta_expected);
      |                                                                ^~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11453:78: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11453 |     GGML_TEST_ASSERT(delta_result == delta_expected, "%f, %f", delta_result, delta_expected);
      |                                                                              ^~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11456:60: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11456 |     GGML_TEST_ASSERT(min_result == min_expected, "%f, %f", min_result, min_expected);
      |                                                            ^~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11456:72: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11456 |     GGML_TEST_ASSERT(min_result == min_expected, "%f, %f", min_result, min_expected);
      |                                                                        ^~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c: In function ‘ggml_test_quantization_q4_1_o’:
/www/rwkv.cpp/ggml.c:11478:64: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11478 |     GGML_TEST_ASSERT(delta_result == delta_expected, "%f, %f", delta_result, delta_expected);
      |                                                                ^~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11478:78: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11478 |     GGML_TEST_ASSERT(delta_result == delta_expected, "%f, %f", delta_result, delta_expected);
      |                                                                              ^~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11482:60: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11482 |     GGML_TEST_ASSERT(min_result == min_expected, "%f, %f", min_result, min_expected);
      |                                                            ^~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11482:72: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11482 |     GGML_TEST_ASSERT(min_result == min_expected, "%f, %f", min_result, min_expected);
      |                                                                        ^~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11490:80: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11490 |     GGML_TEST_ASSERT(outlier_value_result == outlier_value_expected, "%f, %f", outlier_value_result, outlier_value_expected);
      |                                                                                ^~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11490:102: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11490 |     GGML_TEST_ASSERT(outlier_value_result == outlier_value_expected, "%f, %f", outlier_value_result, outlier_value_expected);
      |                                                                                                      ^~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11506:57: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11506 |         GGML_TEST_ASSERT(diff <= 1.0F, "%d: %f, %f", i, actual, expected);
      |                                                         ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11506:65: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11506 |         GGML_TEST_ASSERT(diff <= 1.0F, "%d: %f, %f", i, actual, expected);
      |                                                                 ^~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c: In function ‘ggml_run_test_suite’:
/www/rwkv.cpp/ggml.c:11542:44: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11542 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 0, 2.7322F);
      |                                            ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11542:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11542 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 0, 2.7322F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11542:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11542 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 0, 2.7322F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11543:44: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11543 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 1, 2.8531F);
      |                                            ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11543:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11543 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 1, 2.8531F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11543:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11543 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 1, 2.8531F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11544:44: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11544 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 2, 0.6466F);
      |                                            ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11544:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11544 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 2, 0.6466F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11544:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11544 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 2, 0.6466F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11545:44: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11545 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 3, 0.4974F);
      |                                            ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11545:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11545 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 3, 0.4974F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11545:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11545 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 3, 0.4974F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11546:44: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11546 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 4, 5.6463F);
      |                                            ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11546:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11546 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 4, 5.6463F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11546:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11546 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 4, 5.6463F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11547:44: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11547 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 5, 0.9564F);
      |                                            ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11547:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11547 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 5, 0.9564F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11547:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11547 |     GGML_TEST_ASSERT_ELEMENT_F32(exp_a, 5, 0.9564F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11556:50: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11556 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 0, -0.0051F);
      |                                                  ^~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11556:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11556 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 0, -0.0051F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11556:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11556 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 0, -0.0051F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11557:50: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11557 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 1, -0.0484F);
      |                                                  ^~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11557:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11557 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 1, -0.0484F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11557:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11557 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 1, -0.0484F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11558:50: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11558 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 2, 1.4361F);
      |                                                  ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11558:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11558 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 2, 1.4361F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11558:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11558 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 2, 1.4361F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11559:50: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11559 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 3, 1.6984F);
      |                                                  ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11559:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11559 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 3, 1.6984F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11559:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11559 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 3, 1.6984F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11560:50: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11560 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 4, -0.7310F);
      |                                                  ^~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11560:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11560 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 4, -0.7310F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11560:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11560 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 4, -0.7310F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11561:50: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11561 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 5, 1.0446F);
      |                                                  ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11561:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11561 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 5, 1.0446F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11561:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11561 |     GGML_TEST_ASSERT_ELEMENT_F32(one_minus_a, 5, 1.0446F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11570:48: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11570 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 0, 0.7321F);
      |                                                ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11570:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11570 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 0, 0.7321F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11570:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11570 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 0, 0.7321F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11571:48: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11571 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 1, 0.7405F);
      |                                                ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11571:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11571 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 1, 0.7405F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11571:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11571 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 1, 0.7405F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11572:48: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11572 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 2, 0.3927F);
      |                                                ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11572:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11572 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 2, 0.3927F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11572:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11572 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 2, 0.3927F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11573:48: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11573 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 3, 0.3322F);
      |                                                ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11573:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11573 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 3, 0.3322F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11573:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11573 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 3, 0.3322F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11574:48: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11574 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 4, 0.8495F);
      |                                                ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11574:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11574 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 4, 0.8495F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11574:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11574 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 4, 0.8495F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11575:48: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11575 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 5, 0.4889F);
      |                                                ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11575:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11575 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 5, 0.4889F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11575:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11575 |     GGML_TEST_ASSERT_ELEMENT_F32(sigmoid_a, 5, 0.4889F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11584:46: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11584 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 0, 1.0051F);
      |                                              ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11584:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11584 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 0, 1.0051F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11584:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11584 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 0, 1.0051F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11585:46: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11585 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 1, 1.0484F);
      |                                              ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11585:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11585 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 1, 1.0484F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11585:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11585 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 1, 1.0484F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11586:46: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11586 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 2, 1.6200F);
      |                                              ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11586:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11586 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 2, 1.6200F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11586:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11586 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 2, 1.6200F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11587:46: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11587 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 3, 0.5156F);
      |                                              ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11587:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11587 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 3, 0.5156F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11587:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11587 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 3, 0.5156F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11588:46: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11588 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 4, 1.7310F);
      |                                              ^~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11588:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11588 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 4, 1.7310F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11588:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11588 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 4, 1.7310F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11589:46: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11589 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 5, -0.0446F);
      |                                              ^~~~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11589:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11589 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 5, -0.0446F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11425:134: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion]
11425 |         GGML_TEST_ASSERT(fabsf(actual - expected_value) <= 0.0001F, "At %s[%d]: expected %f, actual %f", #tensor, i, expected_value, actual);\
      |                                                                                                                                      ^~~~~~
/www/rwkv.cpp/ggml.c:11417:29: note: in definition of macro ‘GGML_TEST_ASSERT’
11417 |             fprintf(stderr, __VA_ARGS__);\
      |                             ^~~~~~~~~~~
/www/rwkv.cpp/ggml.c:11589:5: note: in expansion of macro ‘GGML_TEST_ASSERT_ELEMENT_F32’
11589 |     GGML_TEST_ASSERT_ELEMENT_F32(max_a_b, 5, -0.0446F);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/ggml.dir/build.make:75: recipe for target 'CMakeFiles/ggml.dir/ggml.c.o' failed
make[2]: *** [CMakeFiles/ggml.dir/ggml.c.o] Error 1
CMakeFiles/Makefile2:84: recipe for target 'CMakeFiles/ggml.dir/all' failed
make[1]: *** [CMakeFiles/ggml.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 30

Most upvoted comments

Hi all! I’ve updated ggml to the latest version. Please try again, don’t forget to update git submodules (or better, clone from scratch git clone --recursive https://github.com/saharNooby/rwkv.cpp.git).

It is not guaranteed that Q4_1_O would work tho. At least it will not crash for other formats, because there is now no unit tests lol

I think aarch64 is broken

python3 rwkv/chat_with_bot.py ggml-rwkv-4_raven-3b-v8-eng-20230408-ctx4096-Q4_1_0.bin 
Loading 20B tokenizer
System info: AVX = 0 | AVX2 = 0 | AVX512 = 0 | FMA = 0 | NEON = 1 | ARM_FMA = 1 | F16C = 0 | FP16_VA = 1 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 0 | VSX = 0 | 
Loading RWKV model
*** Assertion failed ***
0.000000, 2.000000
/home/ubuntu/SPACE/rwkv.cpp/ggml.c:11478
Aborted (core dumped)