stable-diffusion.cpp: Error when use with latest GGML
Hi,
Can you update to be compatible with latest GGML?
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:186:26: error: use of undeclared identifier 'ggml_cpy_inplace'
ggml_tensor* final = ggml_cpy_inplace(ctx, src, dst);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:523:9: error: use of undeclared identifier 'ggml_allocr_alloc'; did you mean 'ggml_tallocr_alloc'?
ggml_allocr_alloc(allocr, embedding);
^~~~~~~~~~~~~~~~~
ggml_tallocr_alloc
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:25: note: 'ggml_tallocr_alloc' declared here
GGML_API void ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:523:27: error: cannot initialize a parameter of type 'ggml_tallocr_t' (aka 'ggml_tallocr *') with an lvalue of type 'struct ggml_allocr *'
ggml_allocr_alloc(allocr, embedding);
^~~~~~
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_tallocr'
struct ggml_allocr* allocr,
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:59: note: passing argument to parameter 'talloc' here
GGML_API void ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:525:28: error: use of undeclared identifier 'ggml_allocr_is_measure'
if (allocr != NULL && !ggml_allocr_is_measure(allocr)) {
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:593:30: error: use of undeclared identifier 'ggml_allocr_new_measure_from_backend'
compute_allocr = ggml_allocr_new_measure_from_backend(backend);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:598:35: error: use of undeclared identifier 'ggml_allocr_alloc_graph'; did you mean 'ggml_gallocr_alloc_graph'?
compute_buffer_size = ggml_allocr_alloc_graph(compute_allocr, gf) + 1024 * 1024;
^~~~~~~~~~~~~~~~~~~~~~~
ggml_gallocr_alloc_graph
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:15: note: 'ggml_gallocr_alloc_graph' declared here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:598:59: error: cannot initialize a parameter of type 'ggml_gallocr_t' (aka 'ggml_gallocr *') with an lvalue of type 'struct ggml_allocr *'
compute_buffer_size = ggml_allocr_alloc_graph(compute_allocr, gf) + 1024 * 1024;
^~~~~~~~~~~~~~
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_gallocr'
struct ggml_allocr* allocr,
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:55: note: passing argument to parameter 'galloc' here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:601:13: error: use of undeclared identifier 'ggml_allocr_free'
ggml_allocr_free(compute_allocr);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:607:26: error: use of undeclared identifier 'ggml_allocr_new_from_buffer'
compute_allocr = ggml_allocr_new_from_buffer(compute_buffer);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:611:9: error: use of undeclared identifier 'ggml_allocr_reset'
ggml_allocr_reset(compute_allocr);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:615:9: error: use of undeclared identifier 'ggml_allocr_alloc_graph'; did you mean 'ggml_gallocr_alloc_graph'?
ggml_allocr_alloc_graph(compute_allocr, gf);
^~~~~~~~~~~~~~~~~~~~~~~
ggml_gallocr_alloc_graph
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:15: note: 'ggml_gallocr_alloc_graph' declared here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:615:33: error: cannot initialize a parameter of type 'ggml_gallocr_t' (aka 'ggml_gallocr *') with an lvalue of type 'struct ggml_allocr *'
ggml_allocr_alloc_graph(compute_allocr, gf);
^~~~~~~~~~~~~~
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_gallocr'
struct ggml_allocr* allocr,
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:55: note: passing argument to parameter 'galloc' here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:639:9: error: use of undeclared identifier 'ggml_allocr_free'
ggml_allocr_free(compute_allocr);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:247:30: error: use of undeclared identifier 'ggml_allocr_new_from_buffer'
ggml_allocr* alloc = ggml_allocr_new_from_buffer(params_buffer);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:268:17: error: use of undeclared identifier 'ggml_allocr_alloc'; did you mean 'ggml_tallocr_alloc'?
ggml_allocr_alloc(alloc, t);
^~~~~~~~~~~~~~~~~
ggml_tallocr_alloc
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:25: note: 'ggml_tallocr_alloc' declared here
GGML_API void ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:268:35: error: cannot initialize a parameter of type 'ggml_tallocr_t' (aka 'ggml_tallocr *') with an lvalue of type 'ggml_allocr *'
ggml_allocr_alloc(alloc, t);
^~~~~
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_tallocr'
struct ggml_allocr* allocr,
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:59: note: passing argument to parameter 'talloc' here
GGML_API void ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:271:9: error: use of undeclared identifier 'ggml_allocr_free'
ggml_allocr_free(alloc);
^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:385:13: error: use of undeclared identifier 'ggml_allocr_alloc'; did you mean 'ggml_tallocr_alloc'?
ggml_allocr_alloc(compute_allocr, x_);
^~~~~~~~~~~~~~~~~
ggml_tallocr_alloc
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:25: note: 'ggml_tallocr_alloc' declared here
GGML_API void ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:385:31: error: cannot initialize a parameter of type 'ggml_tallocr_t' (aka 'ggml_tallocr *') with an lvalue of type 'struct ggml_allocr *'
ggml_allocr_alloc(compute_allocr, x_);
^~~~~~~~~~~~~~
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_tallocr'
struct ggml_allocr* allocr,
^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:59: note: passing argument to parameter 'talloc' here
GGML_API void ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
About this issue
- Original URL
- State: open
- Created 4 months ago
- Comments: 16 (6 by maintainers)
The latest master branch is using this: https://github.com/leejet/ggml/tree/batch-inference. It seems that your ggml is not up to date because the submodule URL has changed. Try executing the following command to update it.
The latest master code has already utilized
ggml_backend_alloc_ctx_tensors
.