关于Dask,我有几个基本问题:
>当我想使用dask进行分布式计算时(即在集群上),必须使用Futures是否正确?
>在那种情况下,即在使用期货时,任务图仍然是推理计算的方法.如果是,我如何创建它们.
>我通常如何才能获得与任务图相关的字典?
作为编辑:
我的应用程序是我想在本地计算机或集群上并行化for循环(即它应该在集群上工作).
作为第二个编辑:
对于期货和延迟计算之间的关系,我想我也不太清楚.
谢谢
最佳答案
1)是的.如果要通过网络发送数据,则必须采用某种方式让计算机为您进行计算,数字运算是如何进行的,而Future或多或少地准确地代表了这一点.
2)否.使用Futures,您将急切地执行功能-尽快完成计算,然后等待结果返回(从本地的另一个线程/进程,或从某个远程的线程中卸载)工作上).此处的相关抽象将是Queque(特别是优先Queque).
3)例如,对于延迟实例,您可以执行some_delayed.dask,或者对于Array,执行Array.dask. (可选)将整个内容包装在dict()或vars()中.但我不确定是否可以为每个单独的API可靠地设置这种方式(我会这样假设,但是您知道他们对假设我们两个人的看法是什么…).
4)最简单的类比可能是:Delayed本质上是一个函数上的精美的Python yield包装器; Future本质上是功能上的花哨的异步/等待包装器.