Ray: Unified framework for scaling AI and Python applications

https://github.com/ray-project/ray

https://github.com/ray-project/ray/raw/master/doc/source/images/ray_header_logo.png

https://readthedocs.org/projects/ray/badge/?version=master https://img.shields.io/badge/Ray-Join%20Slack-blue https://img.shields.io/badge/Discuss-Ask%20Questions-blue https://img.shields.io/twitter/follow/raydistributed.svg?style=social&logo=twitter https://img.shields.io/badge/Get_started_for_free-3C8AE9?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAA0VXHyAAABKElEQVQ4Ea2TvWoCQRRGnWCVWChIIlikC9hpJdikSbGgaONbpAoY8gKBdAGfwkfwKQypLQ1sEGyMYhN1Pd%2B6A8PqwBZeOHt%2FvsvMnd3ZXBRFPQjBZ9K6OY8ZxF%2B0IYw9PW3qz8aY6lk92bZ%2BVqSI3oC9T7%2FyCVnrF1ngj93us%2B540sf5BrCDfw9b6jJ5lx%2FyjtGKBBXc3cnqx0INN4ImbI%2Bl%2BPnI8zWfFEr4chLLrWHCp9OO9j19Kbc91HX0zzzBO8EbLK2Iv4ZvNO3is3h6jb%2BCwO0iL8AaWqB7ILPTxq3kDypqvBuYuwswqo6wgYJbT8XxBPZ8KS1TepkFdC79TAHHce%2F7LbVioi3wEfTpmeKtPRGEeoldSP%2FOeoEftpP4BRbgXrYZefsAI%2BP9JU7ImyEAAAAASUVORK5CYII%3D

Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI libraries for simplifying ML compute:

Learn more about Ray AI Libraries:

  • Data: Scalable Datasets for ML
  • Train: Distributed Training
  • Tune: Scalable Hyperparameter Tuning
  • RLlib: Scalable Reinforcement Learning
  • Serve: Scalable and Programmable Serving

Or more about Ray Core and its key abstractions:

  • Tasks: Stateless functions executed in the cluster.
  • Actors: Stateful worker processes created in the cluster.
  • Objects: Immutable values accessible across the cluster.

Learn more about Monitoring and Debugging:

Ray runs on any machine, cluster, cloud provider, and Kubernetes, and features a growing ecosystem of community integrations.

Install Ray with: pip install ray. For nightly wheels, see the Installation page.

Why Ray?

Today's ML workloads are increasingly compute-intensive. As convenient as they are, single-node development environments such as your laptop cannot scale to meet these demands.

Ray is a unified way to scale Python and AI applications from a laptop to a cluster.

With Ray, you can seamlessly scale the same code from a laptop to a cluster. Ray is designed to be general-purpose, meaning that it can performantly run any kind of workload. If your application is written in Python, you can scale it with Ray, no other infrastructure required.

More Information

Older documents:

Getting Involved

Platform Purpose Estimated Response Time Support Level
Discourse Forum For discussions about development and questions about usage. < 1 day Community
GitHub Issues For reporting bugs and filing feature requests. < 2 days Ray OSS Team
Slack For collaborating with other Ray users. < 2 days Community
StackOverflow For asking questions about how to use Ray. 3-5 days Community
Meetup Group For learning about Ray projects and best practices. Monthly Ray DevRel
Twitter For staying up-to-date on new features. Daily Ray DevRel
{
"by": "selvan",
"descendants": 0,
"id": 40247935,
"score": 2,
"time": 1714745812,
"title": "Ray: Unified framework for scaling AI and Python applications",
"type": "story",
"url": "https://github.com/ray-project/ray"
}
{
"author": "ray-project",
"date": null,
"description": "Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads. - ray-project/ray",
"image": "https://opengraph.githubassets.com/410dc736e1fec244b4f7cdc45ed689240b665e932116bdc7a8ef80facb7c89e1/ray-project/ray",
"logo": "https://logo.clearbit.com/github.com",
"publisher": "GitHub",
"title": "GitHub - ray-project/ray: Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.",
"url": "https://github.com/ray-project/ray"
}
{
"url": "https://github.com/ray-project/ray",
"title": "GitHub - ray-project/ray: Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.",
"description": "Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads. - ray-project/ray",
"links": [
"https://github.com/ray-project/ray"
],
"image": "https://opengraph.githubassets.com/410dc736e1fec244b4f7cdc45ed689240b665e932116bdc7a8ef80facb7c89e1/ray-project/ray",
"content": "<div><article><p><a target=\"_blank\" href=\"https://github.com/ray-project/ray/raw/master/doc/source/images/ray_header_logo.png\"><img alt=\"https://github.com/ray-project/ray/raw/master/doc/source/images/ray_header_logo.png\" src=\"https://github.com/ray-project/ray/raw/master/doc/source/images/ray_header_logo.png\" /></a></p>\n<a target=\"_blank\" href=\"http://docs.ray.io/en/master/?badge=master\"><img alt=\"https://readthedocs.org/projects/ray/badge/?version=master\" src=\"https://camo.githubusercontent.com/7f5465690b415bb620cf8500a452603fbe5ea23e8b9801740b88f3000431151f/68747470733a2f2f72656164746865646f63732e6f72672f70726f6a656374732f7261792f62616467652f3f76657273696f6e3d6d6173746572\" /></a>\n<a target=\"_blank\" href=\"https://forms.gle/9TSdDYUgxYs8SA9e8\"><img alt=\"https://img.shields.io/badge/Ray-Join%20Slack-blue\" src=\"https://camo.githubusercontent.com/94d9ec8e23284e1632c0906b67ef87507391fd583e08e974af6b60b931333309/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5261792d4a6f696e253230536c61636b2d626c7565\" /></a>\n<a target=\"_blank\" href=\"https://discuss.ray.io/\"><img alt=\"https://img.shields.io/badge/Discuss-Ask%20Questions-blue\" src=\"https://camo.githubusercontent.com/0da1a186dc1d8eeec17037d891e3a9f803aaea47ce024b13ec2fa271bede9707/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973637573732d41736b2532305175657374696f6e732d626c7565\" /></a>\n<a target=\"_blank\" href=\"https://twitter.com/raydistributed\"><img alt=\"https://img.shields.io/twitter/follow/raydistributed.svg?style=social&amp;logo=twitter\" src=\"https://camo.githubusercontent.com/10c05c5df4f1bd3fe18779d82bc39dc36c12a37dacd4fad04b244ee5b07a88e5/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f72617964697374726962757465642e7376673f7374796c653d736f6369616c266c6f676f3d74776974746572\" /></a>\n<a target=\"_blank\" href=\"https://console.anyscale.com/register/ha?utm_source=github&amp;utm_medium=ray_readme&amp;utm_campaign=get_started_badge\"><img alt=\"https://img.shields.io/badge/Get_started_for_free-3C8AE9?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAA0VXHyAAABKElEQVQ4Ea2TvWoCQRRGnWCVWChIIlikC9hpJdikSbGgaONbpAoY8gKBdAGfwkfwKQypLQ1sEGyMYhN1Pd%2B6A8PqwBZeOHt%2FvsvMnd3ZXBRFPQjBZ9K6OY8ZxF%2B0IYw9PW3qz8aY6lk92bZ%2BVqSI3oC9T7%2FyCVnrF1ngj93us%2B540sf5BrCDfw9b6jJ5lx%2FyjtGKBBXc3cnqx0INN4ImbI%2Bl%2BPnI8zWfFEr4chLLrWHCp9OO9j19Kbc91HX0zzzBO8EbLK2Iv4ZvNO3is3h6jb%2BCwO0iL8AaWqB7ILPTxq3kDypqvBuYuwswqo6wgYJbT8XxBPZ8KS1TepkFdC79TAHHce%2F7LbVioi3wEfTpmeKtPRGEeoldSP%2FOeoEftpP4BRbgXrYZefsAI%2BP9JU7ImyEAAAAASUVORK5CYII%3D\" src=\"https://camo.githubusercontent.com/c2b92847d97281f1bf54644378bed3c81e106e59e765e8c73283baf11d689252/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4765745f737461727465645f666f725f667265652d3343384145393f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414241414141415143415941414141663825324639684141414141584e535230494172733463365141414145526c57456c6d545530414b674141414167414159647041415141414141424141414147674141414141414136414241414d414141414241414541414b4143414151414141414241414141454b4144414151414141414241414141454141414141413056584879414141424b456c45515651344561325476576f43515252476e57435657436849496c696b433968704a64696b53624767614f4e6270416f5938674b4264414766776b66774b5179704c5131734547794d59684e315064253242364138507177425a654f48742532467673764d6e64335a5842524650516a425a394b364f59385a78462532423049597739505733717a386159366c6b3932625a25324256715349336f433954372532467943566e7246316e676a393375732532423534307366354272434466773962366a4a356c78253246796a74474b4242586333636e717830494e4e34496d62492532426c253242506e49387a57664645723463684c4c7257484370394f4f396a31394b626339314858307a7a7a424f3845624c4b324976345a764e4f3369733368366a6225324243774f30694c38416157714237494c50547871336b447970717642755975777377716f367767594a625438587842505a384b53315465706b4664433739544148486365253246374c6256696f693377456654706d654b7450524745656f6c6453502532464f656f456674705034425262675872595a656673414925324250394a5537496d794541414141415355564f524b3543594949253344\" /></a>\n<p>Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI libraries for simplifying ML compute:</p>\n<p><a target=\"_blank\" href=\"https://github.com/ray-project/ray/raw/master/doc/source/images/what-is-ray-padded.svg\"><img src=\"https://github.com/ray-project/ray/raw/master/doc/source/images/what-is-ray-padded.svg\" /></a></p>\n<p>Learn more about <a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-air/getting-started.html\">Ray AI Libraries</a>:</p>\n<ul>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/data/dataset.html\">Data</a>: Scalable Datasets for ML</li>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/train/train.html\">Train</a>: Distributed Training</li>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/tune/index.html\">Tune</a>: Scalable Hyperparameter Tuning</li>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/rllib/index.html\">RLlib</a>: Scalable Reinforcement Learning</li>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/serve/index.html\">Serve</a>: Scalable and Programmable Serving</li>\n</ul>\n<p>Or more about <a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-core/walkthrough.html\">Ray Core</a> and its key abstractions:</p>\n<ul>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-core/tasks.html\">Tasks</a>: Stateless functions executed in the cluster.</li>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-core/actors.html\">Actors</a>: Stateful worker processes created in the cluster.</li>\n<li><a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-core/objects.html\">Objects</a>: Immutable values accessible across the cluster.</li>\n</ul>\n<p>Learn more about Monitoring and Debugging:</p>\n<ul>\n<li>Monitor Ray apps and clusters with the <a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-core/ray-dashboard.html\">Ray Dashboard</a>.</li>\n<li>Debug Ray apps with the <a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-observability/ray-distributed-debugger.html\">Ray Distributed Debugger</a>.</li>\n</ul>\n<p>Ray runs on any machine, cluster, cloud provider, and Kubernetes, and features a growing\n<a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-overview/ray-libraries.html\">ecosystem of community integrations</a>.</p>\n<p>Install Ray with: <code>pip install ray</code>. For nightly wheels, see the\n<a target=\"_blank\" href=\"https://docs.ray.io/en/latest/ray-overview/installation.html\">Installation page</a>.</p>\n<a></a>\n<p></p><h2>Why Ray?</h2><a target=\"_blank\" href=\"https://github.com/ray-project/ray#why-ray\"></a><p></p>\n<p>Today's ML workloads are increasingly compute-intensive. As convenient as they are, single-node development environments such as your laptop cannot scale to meet these demands.</p>\n<p>Ray is a unified way to scale Python and AI applications from a laptop to a cluster.</p>\n<p>With Ray, you can seamlessly scale the same code from a laptop to a cluster. Ray is designed to be general-purpose, meaning that it can performantly run any kind of workload. If your application is written in Python, you can scale it with Ray, no other infrastructure required.</p>\n<a></a>\n<p></p><h2>More Information</h2><a target=\"_blank\" href=\"https://github.com/ray-project/ray#more-information\"></a><p></p>\n<ul>\n<li><a target=\"_blank\" href=\"http://docs.ray.io/en/latest/index.html\">Documentation</a></li>\n<li><a target=\"_blank\" href=\"https://docs.google.com/document/d/1tBw9A4j62ruI5omIJbMxly-la5w4q_TjyJgJL_jN2fI/preview\">Ray Architecture whitepaper</a></li>\n<li><a target=\"_blank\" href=\"https://arxiv.org/abs/2203.05072\">Exoshuffle: large-scale data shuffle in Ray</a></li>\n<li><a target=\"_blank\" href=\"https://www.usenix.org/system/files/nsdi21-wang.pdf\">Ownership: a distributed futures system for fine-grained tasks</a></li>\n<li><a target=\"_blank\" href=\"https://arxiv.org/abs/1712.09381\">RLlib paper</a></li>\n<li><a target=\"_blank\" href=\"https://arxiv.org/abs/1807.05118\">Tune paper</a></li>\n</ul>\n<p><em>Older documents:</em></p>\n<ul>\n<li><a target=\"_blank\" href=\"https://arxiv.org/abs/1712.05889\">Ray paper</a></li>\n<li><a target=\"_blank\" href=\"https://arxiv.org/abs/1703.03924\">Ray HotOS paper</a></li>\n<li><a target=\"_blank\" href=\"https://docs.google.com/document/d/1lAy0Owi-vPz2jEqBSaHNQcy2IBSDEHyXNOQZlGuj93c/preview\">Ray Architecture v1 whitepaper</a></li>\n</ul>\n<a></a>\n<p></p><h2>Getting Involved</h2><a target=\"_blank\" href=\"https://github.com/ray-project/ray#getting-involved\"></a><p></p>\n<table>\n<thead>\n<tr><th>Platform</th>\n<th>Purpose</th>\n<th>Estimated Response Time</th>\n<th>Support Level</th>\n</tr>\n</thead>\n<tbody>\n<tr><td><a target=\"_blank\" href=\"https://discuss.ray.io/\">Discourse Forum</a></td>\n<td>For discussions about development and questions about usage.</td>\n<td>&lt; 1 day</td>\n<td>Community</td>\n</tr>\n<tr><td><a target=\"_blank\" href=\"https://github.com/ray-project/ray/issues\">GitHub Issues</a></td>\n<td>For reporting bugs and filing feature requests.</td>\n<td>&lt; 2 days</td>\n<td>Ray OSS Team</td>\n</tr>\n<tr><td><a target=\"_blank\" href=\"https://forms.gle/9TSdDYUgxYs8SA9e8\">Slack</a></td>\n<td>For collaborating with other Ray users.</td>\n<td>&lt; 2 days</td>\n<td>Community</td>\n</tr>\n<tr><td><a target=\"_blank\" href=\"https://stackoverflow.com/questions/tagged/ray\">StackOverflow</a></td>\n<td>For asking questions about how to use Ray.</td>\n<td>3-5 days</td>\n<td>Community</td>\n</tr>\n<tr><td><a target=\"_blank\" href=\"https://www.meetup.com/Bay-Area-Ray-Meetup/\">Meetup Group</a></td>\n<td>For learning about Ray projects and best practices.</td>\n<td>Monthly</td>\n<td>Ray DevRel</td>\n</tr>\n<tr><td><a target=\"_blank\" href=\"https://twitter.com/raydistributed\">Twitter</a></td>\n<td>For staying up-to-date on new features.</td>\n<td>Daily</td>\n<td>Ray DevRel</td>\n</tr>\n</tbody>\n</table>\n</article></div>",
"author": "",
"favicon": "https://github.githubassets.com/favicons/favicon.svg",
"source": "github.com",
"published": "",
"ttr": 70,
"type": "object"
}