这将返回:
Total time of sleep: 9.9 for 16 tasks Finished in 3.18由于存在一些开销,会有一些延迟,但对于大型计算来说,这种延迟可以忽略不计 。
四、大规模计算的聚合值Ray可以轻松地用于聚合多个值,这对于构建需要跨多台机器进行计算的大型应用程序非常重要 。对于大规模计算,Ray可以将聚合的运行时间从线性改为对数 。
接下来看一个示例:
【使用Ray轻松进行Python分布式计算】import timeimport rayimport numpy as npStime = time.perf_counter()@ray.remotedef create_matrix(size): return np.random.normal(size=size)@ray.remotedef multiply_matrices(x, y): return np.dot(x, y)@ray.remotedef sum_matrices(x, y): return np.add(x, y)m1 = create_matrix.remote([1000, 1000])m2 = create_matrix.remote([1000, 1000])m3 = create_matrix.remote([1000, 1000])m4 = create_matrix.remote([1000, 1000])m12 = multiply_matrices.remote(m1, m2)m34 = multiply_matrices.remote(m3, m4)a12_34 = sum_matrices.remote(m12, m34)## 结果MM = ray.get(a12_34)print(f"Finished in {time.perf_counter()-Stime:.2f}")在上面的示例中,本文首先创建了四个矩阵,将它们分为两组,对每组中的矩阵进行乘法运算,然后对每组的乘法结果进行求和 。在这里,乘法运算是并行进行的,然后将结果聚合以获得求和结果 。
参考资料
- 【安装Ray】:https://docs.ray.io/en/latest/ray-overview/installation.html
- Pierfederici, F. (2016). 《Distributed Computing with Python》. Journal of Physics A: Mathematical and Theoretical (Vol. 44, Issue 8). Packt Publishing Ltd.
推荐阅读
- 使用Docker Compose编排多个容器
- Go的分布式应用:使用Raft算法
- 氨基酸洗面奶哪个好用?这几款成分、肤感、使用效果都很优秀
- 怎么清理厨房贴纸 如何清理厨房贴纸
- 减肥的人,做到这7个“不”,轻松掉秤20斤!
- pet01 能重复装水吗 pet1能否重复使用
- 著名女演员因压力过大被期望耍大牌?竟偷偷使用藏红花缓解焦虑!
- 数字人民币怎么使用微信支付 数字人民币怎么使用
- 投影仪怎么用,当贝投影仪3d功能怎么使用
- ai蒙版怎么用渐变,Ai应该怎么样才可以使用蒙版
