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).

Reply via email to