clip.cpp icon indicating copy to clipboard operation
clip.cpp copied to clipboard

ggml has CANN support, does this also support CANN?

Open xsmart opened this issue 3 months ago • 3 comments

Good project, and this project use ggml lastest version, https://github.com/monatis/clip.cpp use a old version. and current used ggml has CANN support, does the clip.cpp can support CANN?

xsmart avatar Oct 23 '25 02:10 xsmart

Good project, and this project use ggml lastest version, https://github.com/monatis/clip.cpp use a old version. and current used ggml has CANN support, does the clip.cpp can support CANN?

The principle is supported, but some minor adaptation is required.

yysu-888 avatar Oct 30 '25 01:10 yysu-888

Change the source code for CANN, but there has some error [root@localhost yysu-888-clip.cpp]# ./build/clip -m convert_model/clip_f16.gguf --model_version openai_clip_vit_base_patch32 --mode zeros_shot_image_classification --model_type f32 --image_path example/images/apple.jpeg --label_path example/label_english.txt System Info:

model_load: using CANN backend vocab size: 49408 trigger word img already in vocab clip_vision params backend buffer size = 330.62 MB(VRAM) (200 tensors) clip_text params backend buffer size = 241.96 MB(VRAM) (197 tensors) img_path:example/images/apple.jpeg,width=640,height=640,c=3 clip_vision compute buffer size: 0.88 MB(VRAM) ggml_backend_cann_graph_compute: error: op not supported node_519 (SQRT) /root/clip/yysu-888-clip.cpp/thirty_party/ggml/src/ggml-cann.cpp:1626: GGML_ASSERT(ok) failed [New LWP 4378] [New LWP 4379] [New LWP 4380] [New LWP 4381] [New LWP 4382] [New LWP 4387] [New LWP 4388] [New LWP 4389] [New LWP 4390] [New LWP 4391] [New LWP 4392] [New LWP 4393] [New LWP 4394] [New LWP 4395] [New LWP 4396] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib64/libthread_db.so.1". 0x0000ffff8acf9fc0 in wait4 () from /usr/lib64/libc.so.6 #0 0x0000ffff8acf9fc0 in wait4 () from /usr/lib64/libc.so.6 #1 0x0000ffff8b187fb0 in ggml_abort () from /root/clip/yysu-888-clip.cpp/build/libggml.so #2 0x0000ffff8b1d79b8 in ggml_backend_cann_graph_compute(ggml_backend*, ggml_cgraph*) () from /root/clip/yysu-888-clip.cpp/build/libggml.so #3 0x0000ffff8b1b3454 in ggml_backend_graph_compute () from /root/clip/yysu-888-clip.cpp/build/libggml.so #4 0x000000000043b3a8 in GGMLRunner::compute(std::function<ggml_cgraph* ()>, int, bool, ggml_tensor**, ggml_context*) () #5 0x0000000000448750 in CLIPVisionModelRunner<ClipVisionModel>::infer(image_u8_t, std::vector<float, std::allocator >&) () #6 0x0000000000460b08 in Pipeline<ClipVisionModel, ClipTextModel>::zeros_shot_image_classify(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >, int) () #7 0x0000000000461d18 in void run_example<ClipVisionModel, ClipTextModel>(clip_params) () #8 0x000000000041c7b0 in main () [Inferior 1 (process 4377) detached] Aborted (core dumped)

xsmart avatar Oct 30 '25 02:10 xsmart

ggml_backend_cann_graph_compute: error: op not supported node_519 (SQRT)

some op need implement by youself

yysu-888 avatar Nov 03 '25 04:11 yysu-888