Is AutoScheduler supported on Windows?

I remember last year that AutoTvm wasn’t supported on Windows. Is the new AutoScheduler supported?

Thanks!

Edit: After trying to run the tutorial with resnet-50 on CPU, the tuning fails :frowning:

----------------------------------------------------------------------
------------------------------  [ Measure ]
----------------------------------------------------------------------
Get 3 programs to measure:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\multiprocessing\spawn.py", line 105, in spawn_main
    exitcode = _main(fd)
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\multiprocessing\spawn.py", line 114, in _main
    prepare(preparation_data)
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\multiprocessing\spawn.py", line 225, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
    run_name="__mp_main__")
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "D:\data\miniconda\miniconda3\envs\tvm2\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\dev\tvm_scripts\resnet_tune.py", line 31, in <module>
    tuner.tune(tune_option)
  File "D:\dev\tvm\python\tvm\auto_scheduler\task_scheduler.py", line 354, in tune
    self._tune_task(idx)
  File "D:\dev\tvm\python\tvm\auto_scheduler\task_scheduler.py", line 450, in _tune_task
    self.num_measures_per_round, self.measurer
  File "D:\dev\tvm\python\tvm\auto_scheduler\search_policy.py", line 119, in continue_search_one_round
    return _ffi_api.SearchPolicyContinueSearchOneRound(self, num_measure, measurer)
  File "D:\dev\tvm\python\tvm\_ffi\_ctypes\packed_func.py", line 237, in __call__
    raise get_last_ffi_error()
  File "D:\dev\tvm\python\tvm\_ffi\base.py", line 328, in get_last_ffi_error
    py_err_msg, err_type = c2pyerror(c_err_msg)
  File "D:\dev\tvm\python\tvm\_ffi\base.py", line 257, in c2pyerror
    stack_trace[-1] += "\n" + line
IndexError: list index out of range

Probably not, auto scheduler uses the same multiprocessing stuff that was causing problems on Windows + autotvm.

We can run a RPC server on windows (via cpp_rpc) then cross compile in linux via a target triple x96_64-pc-windows-msvc.

On the linux side, run export_library with the .tar suffix, so the linking is done at the remote(windows)side. The windows will need clang and lld from the official site.