Closed grf53 closed 1 month ago
Thank you @grf53 for bringing this up. I guess the functions in base64.h
are not designed to be public interfaces of TVM so people didn't put it under include/
and we have to import with with #include "..."
.
This situation makes it difficult to use TVM from other locations than 3rdparty/tvm.
Regarding this, I wonder whether you have all the 3rdparty repo cloned recursively? For my personal use, though I have a standalone directory for TVM, I still keep 3rdparty/tvm
there so such include doesn't have any issue.
Hello.
Issue
While using the mlc-llm, I found that a header file in TVM is referred through its hard-coded relative path like: https://github.com/mlc-ai/mlc-llm/blob/7c1f3c3cbb41d012a033e7158c281a652982e0d8/cpp/json_ffi/image_utils.cc#L5
It is because the file base64.h is not in
include
directory, but insrc
directory of TVM even though it is referred by other projects like 'mlc-llm'.This situation makes it difficult to use TVM from other locations than
3rdparty/tvm
.c.f.) In TVM(relax) repository itself, there is a part that using the same way to import
base64.h
(here).What is expected
base64.h
should be moved fromhttps://github.com/mlc-ai/relax/tree/mlc/src/support
tohttps://github.com/mlc-ai/relax/tree/mlc/include/tvm/support
. And along with that, all the#include
directives including that header file should be modified. I locally moved it and changed#include "../../3rdparty/tvm/src/support/base64.h"
to#include <tvm/support/base64.h>
, then the problem resolved.Or, is there any special reason not to do that? If so, kindly let me know. Thanks.