Is async or sync?

According to How to make get_output function faster?, is async. However, when I tried some experiment with following codes, seems sync.

module1 = graph_executor.create(graph, mod, tvm.cuda(0))
module2 = graph_executor.create(graph, mod, tvm.cuda(1))
module1.set_input("input", input_data)
module2.set_input("input", input_data)
# Elapsed time here = 0 ms 
# Elapsed time here = 150 ms
# Elapsed time here = 300 ms. If run() is async, here should be about 150ms
out1 = module1.get_output(0)
out2 = module2.get_output(0) # Elapsed time here = 301 ms

And I cannot find any evidence that is async when I looked into source codes. Which one is correct? Is async or sync?