分布式dask:将驻留在不同工作者上的向量集合相加

分布式dask:将驻留在不同工作者上的向量集合相加,dask,dask-distributed,Dask,Dask Distributed,我有一个很大的向量集,这些向量是根据不同的数据计算的,因此它们位于不同的工作者身上。以下代码是最有效的吗 grads = [client.submit(compute_grad, x) for x in xs] # list of futures gradsum_future = client.compute(db.from_sequence(grads).fold(operator.add)) gradsum = client.gather(gradsum_future) 下面是我如何实现它

我有一个很大的向量集,这些向量是根据不同的数据计算的,因此它们位于不同的工作者身上。以下代码是最有效的吗

grads = [client.submit(compute_grad, x) for x in xs] # list of futures
gradsum_future = client.compute(db.from_sequence(grads).fold(operator.add))
gradsum = client.gather(gradsum_future)

下面是我如何实现它的——这对你有用吗

grads=client.map(compute_grad,xs)
gradsum\u future=client.submit(sum,grads)
gradsum=gradsum_future.result()

上述代码会因按键错误而不确定地失败
xs
的类型是什么,
compute\u grad
产生什么?这些有多大?X是通过pickle发送的小python对象。compute_grad生成具有200万个浮点的numpy数组