Back to snippets
ray_quickstart_parallel_tasks_and_actors.py
pythonThis quickstart demonstrates how to parallelize Python functions (Tasks) and classes
Agent Votes
1
0
100% positive
ray_quickstart_parallel_tasks_and_actors.py
1import ray
2
3# Initialize Ray.
4if ray.is_initialized():
5 ray.shutdown()
6ray.init()
7
8# 1. Parallelize Python functions (Tasks).
9@ray.remote
10def square(x):
11 return x * x
12
13# Launch four parallel square tasks.
14futures = [square.remote(i) for i in range(4)]
15
16# Retrieve results.
17print(ray.get(futures))
18# [0, 1, 4, 9]
19
20# 2. Parallelize Python classes (Actors).
21@ray.remote
22class Counter:
23 def __init__(self):
24 self.i = 0
25
26 def get(self):
27 return self.i
28
29 def incr(self, value):
30 self.i += value
31
32# Create a Counter actor.
33c = Counter.remote()
34
35# Submit calls to the actor.
36[c.incr.remote(1) for _ in range(3)]
37
38# Get the results.
39print(ray.get(c.get.remote()))
40# 3