Skip to content

Commit

Permalink
update design docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam-Armstrong committed Aug 7, 2024
1 parent 8c30f36 commit b8c9406
Show file tree
Hide file tree
Showing 7 changed files with 314 additions and 1,899 deletions.
36 changes: 4 additions & 32 deletions docs/overview/design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,14 @@ Design

.. _`Deep Dive`: deep_dive.rst

This section is aimed at general users, who would like to learn how to use Ivy, and are less concerned about how it all works under the hood 🔧
This section is aimed at general users, who would like to learn how to use Ivy, and are less concerned about how it all works under the hood!

The `Deep Dive`_ section is more targeted at potential contributors, and at users who would like to dive deeper into the weeds of the framework🌱, and gain a better understanding of what is actually going on behind the scenes 🎬

If that sounds like you, feel free to check out the `Deep Dive`_ section after you've gone through the higher level overview which is covered in this *design* section!

| So, starting off with our higher level *design* section, Ivy can fulfill two distinct purposes:
|
| 1. enable automatic code conversions between frameworks
| 2. serve as a new ML framework with multi-framework support
|
| The Ivy codebase can then be split into three categories which are labelled (a),
| (b) and (c) below, and can be further split into 8 distinct submodules.
| The eight submodules are Ivy API, Backend Handler, Backend API, Ivy Array,
| Ivy Container, Ivy Stateful API, and finally Frontend API.
| All eight fall into one of the three categories as follows:
.. image:: https://github.com/unifyai/unifyai.github.io/blob/main/img/externally_linked/design/submodule_dependency_graph.png?raw=true
:align: center
:width: 100%
The `Deep Dive`_ section is more targeted at potential contributors, and at users who would like to dive deeper into the weeds of the framework,
and gain a better understanding of what is actually going on behind the scenes.

| (a) `Building Blocks <design/building_blocks.rst>`_
| back-end functional APIs ✅
| Ivy functional API ✅
| Framework Handler ✅
| Ivy Tracer 🚧
|
| (b) `Ivy as a Transpiler <design/ivy_as_a_transpiler.rst>`_
| front-end functional APIs 🚧
|
| (c) `Ivy as a Framework <design/ivy_as_a_framework.rst>`_
| Ivy stateful API ✅
| Ivy Container ✅
| Ivy Array ✅
| (b) `Ivy's Transpiler <design/ivy_as_a_transpiler.rst>`_
.. toctree::
:hidden:
Expand All @@ -46,4 +19,3 @@ If that sounds like you, feel free to check out the `Deep Dive`_ section after y

design/building_blocks.rst
design/ivy_as_a_transpiler.rst
design/ivy_as_a_framework.rst
325 changes: 153 additions & 172 deletions docs/overview/design/building_blocks.rst

Large diffs are not rendered by default.

44 changes: 0 additions & 44 deletions docs/overview/design/ivy_as_a_framework.rst

This file was deleted.

263 changes: 0 additions & 263 deletions docs/overview/design/ivy_as_a_framework/ivy_array.rst

This file was deleted.

Loading

0 comments on commit b8c9406

Please sign in to comment.