I have created a custom datatype in a model that I can compile and run. So far
so good.
Now I would like to optimize the execution of this model by using the
AutoScheduler. However, each of the child processes that are started by the
Autoscheduler errors out with the following error:
No: 31 GFLOPS: 0.00 / 0.00 results:
MeasureResult(error_type:CompileHostError, error_msg:TVMError('Traceback (most
recent call last):
File
"/home/victor/hpc/tvm-build/tvmgpucopy/python/tvm/exec/popen_worker.py", line
87, in main
result = fn(*args, **kwargs)
File
"/home/victor/hpc/tvm-build/tvmgpucopy/python/tvm/auto_scheduler/measure.py",
line 660, in local_build_worker
return _local_build_worker(inp, build_func, verbose)
File
"/home/victor/hpc/tvm-build/tvmgpucopy/python/tvm/auto_scheduler/measure.py",
line 601, in _local_build_worker
inp = MeasureInput.deserialize(inp_serialized)
File
"/home/victor/hpc/tvm-build/tvmgpucopy/python/tvm/auto_scheduler/measure.py",
line 148, in deserialize
deserialize_workload_registry_entry(data[1])
File
"/home/victor/hpc/tvm-build/tvmgpucopy/python/tvm/auto_scheduler/workload_registry.py",
line 249, in deserialize_workload_registry_entry\n
value = LoadJSON(value)
File
"/home/victor/hpc/tvm-build/tvmgpucopy/python/tvm/_ffi/_ctypes/packed_func.py",
line 237, in __call__
raise get_last_ffi_error()\ntvm._ffi.base.TVMError: Traceback (most
recent call last):
10: TVMFuncCall
9: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*),
tvm::runtime::TypedPackedFunc<tvm::runtime::ObjectRef
(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>)>::AssignTypedLambda<tvm::runtime::ObjectRef
(*)(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >)>(tvm::runtime::ObjectRef
(*)(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >), std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)\n
8: tvm::LoadJSON(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >)
7:
tvm::JSONAttrSetter::Set(tvm::runtime::ObjectPtr<tvm::runtime::Object>*,
tvm::JSONNode*)
6: tvm::ReflectionVTable::VisitAttrs(tvm::runtime::Object*,
tvm::AttrVisitor*) const
5: tvm::JSONAttrSetter::Visit(char const*, tvm::runtime::DataType*)
4: tvm::runtime::String2DLDataType(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >)
3: tvm::runtime::ParseCustomDatatype(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, char const**)
2: tvm::runtime::GetCustomTypeCode(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
1: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::datatype::{lambda(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)#2}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
0: tvm::datatype::Registry::GetTypeCode(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
File
"/home/victor/hpc/tvm-build/tvmgpucopy/src/target/datatype/registry.cc", line 59
TVMError:
---------------------------------------------------------------
An error occurred during the execution of TVM.\nFor more information,
please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
Check failed: (name_to_code_.find(type_name) != name_to_code_.end()) is
false: Type name cmpl not registered\n',), all_cost:15.00, Tstamp:1647511127.09)
As the error shows, it cannot find my custom dataype named "cmpl", whereas I am
*very* sure I did register this data type. [Also proven by the fact that I am
able to compile and run my model, without using the AutoScheuler.]
Could this have anything to do with this error + fix?
[https://discuss.tvm.apache.org/t/autoscheduler-and-autotvm-measure-measure-methods-set-cuda-target-arch/10939/3](https://discuss.tvm.apache.org/t/autoscheduler-and-autotvm-measure-measure-methods-set-cuda-target-arch/10939/3)
[https://github.com/apache/tvm/pull/8913](https://github.com/apache/tvm/pull/8913)
---
[Visit
Topic](https://discuss.tvm.apache.org/t/custom-datatypes-in-autoscheduler/12377/1)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.apache.org/email/unsubscribe/f2d641bfc83ec97c246cd8670984b811b4958a17038f0c82c77af375e3ce6388).