AutoScheduler and autotvm.measure.measure_methods.set_cuda_target_arch

When auto scheduling for a remote gpu device (jetson agx xavier) i used to be able to run to be able to set my cuda target architecture using autotvm.measure.measure_methods.set_cuda_target_arch("sm_72") before starting the tuning.

Unfortunately this does no longer seem to work when using the current main branch. Is there an alternative API for setting target architecture.

I didn’t recall any relevant changes recently. What’s the last working commit?

Thanks for reporting this. This is likely related to popenpool refactor. We’ll send a fix soon

AutoScheduler relies on python’s multiprocessing library to propagate the global state to child processes, which used to cause a lot of issues working with other libraries like jupyter. After the introduction of PopenPool, we are able to get things working with Jupyter by strictly isolating processes. It is likely a global state on the main process that is not propagated to popen worker processes

3 Likes

@vinx13 @junrushao1994 thanks a lot, this works like a charm.