1
1
# SHARK Modeling and Serving Libraries
2
2
3
- ** WARNING: This is an early preview that is in progress. It is not ready for
4
- general use.**
3
+ > [ !IMPORTANT]
4
+ > Development is still in progress for several project components. See the
5
+ > notes below for which workflows are best supported.
5
6
6
7
![ GitHub License] ( https://img.shields.io/github/license/nod-ai/SHARK-Platform )
7
- [ ![ pre-commit] ( https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit )] ( https://github.com/pre-commit/pre-commit )
8
+ [ ![ pre-commit] ( https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit )] ( https://github.com/pre-commit/pre-commit )
8
9
9
10
<!-- TODO: high level overview, features when components are used together -->
10
11
11
12
## Sub-projects
12
13
14
+ ### [ ` shortfin/ ` ] ( ./shortfin/ )
15
+
16
+ <!-- TODO: features list here? -->
17
+
18
+ [ ![ PyPI version] ( https://badge.fury.io/py/shortfin.svg )] ( https://badge.fury.io/py/shortfin ) [ ![ CI - shortfin] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci_linux_x64-libshortfin.yml/badge.svg?event=push )] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci_linux_x64-libshortfin.yml?query=event%3Apush )
19
+
20
+ The shortfin sub-project is SHARK's high performance inference library and
21
+ serving engine.
22
+
23
+ * API documentation for shortfin is available on
24
+ [ readthedocs] ( https://shortfin.readthedocs.io/en/latest/ ) .
25
+
13
26
### [ ` sharktank/ ` ] ( ./sharktank/ )
14
27
15
28
[ ![ PyPI version] ( https://badge.fury.io/py/sharktank.svg )] ( https://badge.fury.io/py/sharktank ) [ ![ CI - sharktank] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci-sharktank.yml/badge.svg?event=push )] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci-sharktank.yml?query=event%3Apush )
16
29
17
30
The SHARK Tank sub-project contains a collection of model recipes and
18
31
conversion tools to produce inference-optimized programs.
19
32
33
+ > [ !WARNING]
34
+ > SHARK Tank is still under development. Experienced users may want to try it
35
+ > out, but we currently recommend most users download pre-exported or
36
+ > pre-compiled model files for serving with shortfin.
37
+
20
38
<!-- TODO: features list here? -->
21
39
22
40
* See the [ SHARK Tank Programming Guide] ( ./docs/programming_guide.md ) for
@@ -25,25 +43,18 @@ conversion tools to produce inference-optimized programs.
25
43
* See [ Direct Quantization with SHARK Tank] ( ./docs/quantization.md )
26
44
for information about quantization support.
27
45
28
- ### [ ` shortfin/ ` ] ( ./shortfin/ )
29
-
30
- <!-- TODO: features list here? -->
31
-
32
- [ ![ PyPI version] ( https://badge.fury.io/py/shortfin.svg )] ( https://badge.fury.io/py/shortfin ) [ ![ CI - shortfin] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci_linux_x64-libshortfin.yml/badge.svg?event=push )] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci_linux_x64-libshortfin.yml?query=event%3Apush )
33
-
34
- The shortfin sub-project is SHARK's high performance inference library and
35
- serving engine.
36
-
37
- * API documentation for shortfin is available on
38
- [ readthedocs] ( https://shortfin.readthedocs.io/en/latest/ ) .
39
-
40
46
### [ ` tuner/ ` ] ( ./tuner/ )
41
47
42
48
[ ![ CI - Tuner] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci-tuner.yml/badge.svg?event=push )] ( https://github.com/nod-ai/SHARK-Platform/actions/workflows/ci-tuner.yml?query=event%3Apush )
43
49
44
50
The Tuner sub-project assists with tuning program performance by searching for
45
51
optimal parameter configurations to use during model compilation.
46
52
53
+ > [ !WARNING]
54
+ > SHARK Tuner is still in early development. Interested users may want
55
+ > to try it out, but the tuner is not ready for general use yet. Check out
56
+ > [ the readme] ( tuner/README.md ) for more details.
57
+
47
58
## Support matrix
48
59
49
60
<!-- TODO: version requirements for Python, ROCm, Linux, etc. -->
@@ -55,62 +66,11 @@ Model name | Model recipes | Serving apps
55
66
SDXL | [ ` sharktank/sharktank/models/punet/ ` ] ( https://github.com/nod-ai/SHARK-Platform/tree/main/sharktank/sharktank/models/punet ) | [ ` shortfin/python/shortfin_apps/sd/ ` ] ( https://github.com/nod-ai/SHARK-Platform/tree/main/shortfin/python/shortfin_apps/sd )
56
67
llama | [ ` sharktank/sharktank/models/llama/ ` ] ( https://github.com/nod-ai/SHARK-Platform/tree/main/sharktank/sharktank/models/llama ) | [ ` shortfin/python/shortfin_apps/llm/ ` ] ( https://github.com/nod-ai/SHARK-Platform/tree/main/shortfin/python/shortfin_apps/llm )
57
68
58
- ## Development getting started
59
-
60
- <!-- TODO: Remove or update this section. Common setup for all projects? -->
61
-
62
- Use this as a guide to get started developing the project using pinned,
63
- pre-release dependencies. You are welcome to deviate as you see fit, but
64
- these canonical directions mirror what the CI does.
65
-
66
- ### Setup a venv
67
-
68
- We recommend setting up a virtual environment (venv). The project is configured
69
- to ignore ` .venv ` directories, and editors like VSCode pick them up by default.
70
-
71
- ```
72
- python -m venv .venv
73
- source .venv/bin/activate
74
- ```
75
-
76
- ### Install PyTorch for your system
77
-
78
- If no explicit action is taken, the default PyTorch version will be installed.
79
- This will give you a current CUDA-based version. Install a different variant
80
- by doing so explicitly first:
81
-
82
- * CPU:*
83
-
84
- ```
85
- pip install -r pytorch-cpu-requirements.txt
86
- ```
87
-
88
- * ROCM:*
89
-
90
- ```
91
- pip install -r pytorch-rocm-requirements.txt
92
- ```
93
-
94
- ### Install development packages
95
-
96
- ```
97
- # Install editable local projects.
98
- pip install -r requirements.txt -e sharktank/ shortfin/
99
-
100
- # Optionally clone and install editable iree-turbine dep in deps/
101
- pip install -f https://iree.dev/pip-release-links.html --src deps \
102
- -e "git+https://github.com/iree-org/iree-turbine.git#egg=iree-turbine"
103
- ```
104
69
105
- ### Running tests
70
+ ## SHARK Users
106
71
107
- ```
108
- pytest sharktank
109
- pytest shortfin
110
- ```
72
+ If you're looking to use SHARK check out our [ User Guide] ( docs/user_guide.md ) .
111
73
112
- ### Optional: pre-commits and developer settings
74
+ ## SHARK Developers
113
75
114
- This project is set up to use the ` pre-commit ` tooling. To install it in
115
- your local repo, run: ` pre-commit install ` . After this point, when making
116
- commits locally, hooks will run. See https://pre-commit.com/
76
+ If you're looking to develop SHARK, check out our [ Developer Guide] ( docs/developer_guide.md ) .
0 commit comments