使用指南
异步与 Future
MinT 同时提供同步和异步 API。
同步示例
future = client.forward_backward(data, loss_fn)
result = future.result() # 阻塞直到完成异步示例(双重 await)
future = await client.forward_backward_async(data, loss_fn)
result = await future- 第一个
await:确认提交(保证顺序) - 第二个
await:等待完成
性能优化
在等待之前先提交操作,实现流水线:
# 提交 forward_backward
fwd_bwd_future = await client.forward_backward_async(batch, loss_fn)
# 立即排队下一个操作
optim_future = await client.optim_step_async(adam_params)
# 获取结果
fwd_bwd_result = await fwd_bwd_future
optim_result = await optim_future这种方式重叠计算和通信,最大化 GPU 利用率。