Skip to content

On Atlas 300I Duo(Ascend) compile using option -DASCEND_SUPPORT=ON -DWHISPER_SDL2=ON, compile failed #3539

@gzqccnu

Description

@gzqccnu
  • Configuring command:
cmake -B build -DGGML_CANN=1 -DWHISPER_SDL2=ON
  • Before 19%:
cmake --build build -j --config Release
[  1%] Building CXX object examples/deprecation-warning/CMakeFiles/main.dir/deprecation-warning.cpp.o
[  2%] Building C object ggml/src/CMakeFiles/ggml-base.dir/ggml-quants.c.o
[  5%] Building CXX object examples/deprecation-warning/CMakeFiles/bench.dir/deprecation-warning.cpp.o
[  5%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml.cpp.o
[  5%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml-threading.cpp.o
[  5%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/gguf.cpp.o
[  5%] Building CXX object examples/deprecation-warning/CMakeFiles/command.dir/deprecation-warning.cpp.o
[  5%] Building C object ggml/src/CMakeFiles/ggml-base.dir/ggml.c.o
[  6%] Building CXX object examples/deprecation-warning/CMakeFiles/stream.dir/deprecation-warning.cpp.o
[  7%] Building C object ggml/src/CMakeFiles/ggml-base.dir/ggml-alloc.c.o
[  6%] Building CXX object examples/CMakeFiles/common-sdl.dir/common-sdl.cpp.o
[  6%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml-backend.cpp.o
[  7%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml-opt.cpp.o
[  8%] Linking CXX executable ../../bin/stream
[  8%] Linking CXX executable ../../bin/main
[  9%] Linking CXX executable ../../bin/command
[ 10%] Linking CXX executable ../../bin/bench
[ 10%] Built target stream
[ 10%] Built target command
[ 10%] Built target main
[ 10%] Built target bench
[ 10%] Linking CXX static library libcommon-sdl.a
[ 10%] Built target common-sdl
[ 11%] Linking CXX shared library libggml-base.so
[ 11%] Built target ggml-base
[ 11%] Building CXX object ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/acl_tensor.cpp.o
[ 12%] Building CXX object ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/ggml-cann.cpp.o
[ 12%] Building CXX object ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/aclnn_ops.cpp.o
[ 13%] Building C object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ggml-cpu.c.o
[ 13%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ggml-cpu.cpp.o
[ 13%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/repack.cpp.o
[ 14%] Building C object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/quants.c.o
[ 14%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/hbm.cpp.o
[ 15%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/traits.cpp.o
[ 15%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/amx/amx.cpp.o
[ 16%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/binary-ops.cpp.o
[ 16%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/vec.cpp.o
[ 18%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ops.cpp.o
[ 18%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/unary-ops.cpp.o
[ 18%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/amx/mmq.cpp.o
[ 18%] Building C object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/quants.c.o
[ 19%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/repack.cpp.o
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp: In function ‘void ggml_cann_rope(ggml_backend_cann_context&, ggml_tensor*)’:
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2547:25: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2547 |         aclnn_roll(ctx, acl_input_tensor, acl_input_roll_tensor, shifts, dims);
      |                         ^~~~~~~~~~~~~~~~
      |                         |
      |                         acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2175:52: note: initializing argument 2 of ‘void aclnn_roll(ggml_backend_cann_context&, aclTensor*, aclTensor*, int64_t*, int64_t*)’
 2175 |                        aclTensor *                 acl_src,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2567:38: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2567 |         aclnn_index_fill_tensor(ctx, acl_minus_one_tensor, dim, index, index_num, value);
      |                                      ^~~~~~~~~~~~~~~~~~~~
      |                                      |
      |                                      acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2198:65: note: initializing argument 2 of ‘void aclnn_index_fill_tensor(ggml_backend_cann_context&, aclTensor*, int64_t, int64_t*, int64_t, float)’
 2198 |                                     aclTensor *                 acl_src,
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2579:25: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2579 |         aclnn_roll(ctx, acl_input_tensor, acl_input_roll_tensor, shifts, dims);
      |                         ^~~~~~~~~~~~~~~~
      |                         |
      |                         acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2175:52: note: initializing argument 2 of ‘void aclnn_roll(ggml_backend_cann_context&, aclTensor*, aclTensor*, int64_t*, int64_t*)’
 2175 |                        aclTensor *                 acl_src,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2602:25: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2602 |         aclnn_muls(ctx, acl_first_half_tensor, scale, nullptr, inplace);
      |                         ^~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:263:52: note: initializing argument 2 of ‘void aclnn_muls(ggml_backend_cann_context&, aclTensor*, float, aclTensor*, bool)’
  263 |                        aclTensor *                 acl_src,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2623:20: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2623 |     aclnn_mul(ctx, acl_input_roll_reshape_tensor, acl_minus_one_tensor, acl_input_roll_mul_scale_tensor);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    |
      |                    acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:61: note: initializing argument 2 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2628:24: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2628 |         aclnn_mul(ctx, acl_src, acl_cos_reshape_tensor);
      |                        ^~~~~~~
      |                        |
      |                        acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:61: note: initializing argument 2 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2629:24: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2629 |         aclnn_mul(ctx, acl_input_roll_mul_scale_tensor, acl_sin_reshape_tensor);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                        |
      |                        acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:61: note: initializing argument 2 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2630:24: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2630 |         aclnn_add(ctx, acl_src, acl_input_roll_mul_scale_tensor, acl_dst);
      |                        ^~~~~~~
      |                        |
      |                        acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:204:61: note: initializing argument 2 of ‘void aclnn_add(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  204 | void aclnn_add(ggml_backend_cann_context & ctx, aclTensor * acl_src0, aclTensor * acl_src1, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2651:24: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2651 |         aclnn_mul(ctx, acl_src, acl_cos_reshape_tensor, input_fp32_tensor1);
      |                        ^~~~~~~
      |                        |
      |                        acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:61: note: initializing argument 2 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2652:24: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2652 |         aclnn_mul(ctx, acl_input_roll_mul_scale_tensor, acl_sin_reshape_tensor, input_fp32_tensor2);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                        |
      |                        acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:61: note: initializing argument 2 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2653:24: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2653 |         aclnn_add(ctx, input_fp32_tensor1, input_fp32_tensor2, output_fp32_tensor);
      |                        ^~~~~~~~~~~~~~~~~~
      |                        |
      |                        acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:204:61: note: initializing argument 2 of ‘void aclnn_add(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  204 | void aclnn_add(ggml_backend_cann_context & ctx, aclTensor * acl_src0, aclTensor * acl_src1, aclTensor * acl_dst) {
      |                                                 ~~~~~~~~~~~~^~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2654:25: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2654 |         aclnn_cast(ctx, output_fp32_tensor, acl_dst, ACL_FLOAT16);
      |                         ^~~~~~~~~~~~~~~~~~
      |                         |
      |                         acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:185:52: note: initializing argument 2 of ‘void aclnn_cast(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclDataType)’
  185 |                        aclTensor *                 acl_src,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
make[2]: *** [ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/build.make:93: ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/aclnn_ops.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1576: ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 19%] Linking CXX shared library libggml-cpu.so
[ 19%] Built target ggml-cpu
make: *** [Makefile:146: all] Error 2

After fix above problem

  • After 19%:
cmake --build build -j --config Release
[  1%] Built target main
[  3%] Built target stream
[  4%] Built target command
[  6%] Built target bench
[  6%] Built target common-sdl
[ 11%] Built target ggml-base
[ 12%] Building CXX object ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/aclnn_ops.cpp.o
[ 19%] Built target ggml-cpu
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp: In function ‘void ggml_cann_rope(ggml_backend_cann_context&, ggml_tensor*)’:
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2623:57: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2623 |     aclnn_mul(ctx, acl_input_roll_reshape_tensor.get(), acl_minus_one_tensor, acl_input_roll_mul_scale_tensor);
      |                                                         ^~~~~~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:82: note: initializing argument 3 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2628:39: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2628 |         aclnn_mul(ctx, acl_src.get(), acl_cos_reshape_tensor);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~
      |                                       |
      |                                       acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:82: note: initializing argument 3 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2629:63: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2629 |         aclnn_mul(ctx, acl_input_roll_mul_scale_tensor.get(), acl_sin_reshape_tensor);
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~
      |                                                               |
      |                                                               acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:82: note: initializing argument 3 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2630:39: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2630 |         aclnn_add(ctx, acl_src.get(), acl_input_roll_mul_scale_tensor, acl_dst);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                       |
      |                                       acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:204:83: note: initializing argument 3 of ‘void aclnn_add(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  204 | void aclnn_add(ggml_backend_cann_context & ctx, aclTensor * acl_src0, aclTensor * acl_src1, aclTensor * acl_dst) {
      |                                                                       ~~~~~~~~~~~~^~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2651:39: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2651 |         aclnn_mul(ctx, acl_src.get(), acl_cos_reshape_tensor, input_fp32_tensor1);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~
      |                                       |
      |                                       acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:82: note: initializing argument 3 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2652:63: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2652 |         aclnn_mul(ctx, acl_input_roll_mul_scale_tensor.get(), acl_sin_reshape_tensor, input_fp32_tensor2);
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~
      |                                                               |
      |                                                               acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:224:82: note: initializing argument 3 of ‘void aclnn_mul(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  224 | void aclnn_mul(ggml_backend_cann_context & ctx, aclTensor * acl_src, aclTensor * acl_other, aclTensor * acl_dst) {
      |                                                                      ~~~~~~~~~~~~^~~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2653:50: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2653 |         aclnn_add(ctx, input_fp32_tensor1.get(), input_fp32_tensor2, output_fp32_tensor);
      |                                                  ^~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:204:83: note: initializing argument 3 of ‘void aclnn_add(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclTensor*)’
  204 | void aclnn_add(ggml_backend_cann_context & ctx, aclTensor * acl_src0, aclTensor * acl_src1, aclTensor * acl_dst) {
      |                                                                       ~~~~~~~~~~~~^~~~~~~~
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:2654:51: error: cannot convert ‘acl_tensor_ptr’ {aka ‘std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >’} to ‘aclTensor*’
 2654 |         aclnn_cast(ctx, output_fp32_tensor.get(), acl_dst, ACL_FLOAT16);
      |                                                   ^~~~~~~
      |                                                   |
      |                                                   acl_tensor_ptr {aka std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor> >}
/root/tools/whisper.cpp/ggml/src/ggml-cann/aclnn_ops.cpp:186:52: note: initializing argument 3 of ‘void aclnn_cast(ggml_backend_cann_context&, aclTensor*, aclTensor*, aclDataType)’
  186 |                        aclTensor *                 acl_dst,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
make[2]: *** [ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/build.make:93: ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/aclnn_ops.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1576: ggml/src/ggml-cann/CMakeFiles/ggml-cann.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions