1
1
Thank you for your interest in contributing to ExecuTorch! We want to make
2
2
it easy to contribute to this project.
3
3
4
-   ;
5
4
6
5
## Dev Install
7
6
@@ -91,7 +90,7 @@ executorch
91
90
│ └── <a href =" runtime/platform " >platform</a > - Layer between architecture specific code and portable C++.
92
91
├── <a href =" schema " >schema</a > - ExecuTorch PTE file format flatbuffer schemas.
93
92
├── <a href =" scripts " >scripts</a > - Utility scripts for building libs, size management, dependency management, etc.
94
- ├── <a href =" shim " >shim </a > - Compatibility layer between OSS and Internal builds.
93
+ ├── <a href =" shim_et " >shim_et </a > - Compatibility layer between OSS and Internal builds.
95
94
├── <a href =" test " >test</a > - Broad scoped end-to-end tests.
96
95
├── <a href =" third-party " >third-party</a > - Third-party dependencies.
97
96
├── <a href =" tools " >tools</a > - Tools for building ExecuTorch from source, for different built tools (CMake, Buck).
@@ -192,9 +191,6 @@ in the Github repo.
192
191
193
192
## Coding Style
194
193
195
- Goal: Encourage standards that make it easier to read, edit, maintain, and debug
196
- the ExecuTorch code.
197
-
198
194
### lintrunner
199
195
200
196
We use [ ` lintrunner ` ] ( https://pypi.org/project/lintrunner/ ) to help make sure the
@@ -259,7 +255,7 @@ toolchains, and having access to relatively modern C++ features.
259
255
260
256
#### C/C++ standard library usage
261
257
262
- ** Restricted usage of the C++ standard library. **
258
+ ** Restricted usage of the C++ standard library**
263
259
264
260
Rationale: ExecuTorch is intended to be portable to bare-metal systems that lack
265
261
certain features, like dynamic memory, threading, and locking, required by parts
@@ -280,7 +276,7 @@ careful to also manually destroy objects initialized in this way.
280
276
281
277
#### C++ language features
282
278
283
- ** Exceptions: Do not use. **
279
+ ** Exceptions: Do not use**
284
280
- Rationale: Exceptions are not widely supported on some classes of
285
281
microcontrollers and DSPs, and they can significantly increase binary size.
286
282
@@ -289,12 +285,12 @@ must work with threading**
289
285
- Rationale: The core runtime must work on systems that do not have threading
290
286
support.
291
287
292
- ** RTTI, dynamic_cast, and ` <typeid> ` : Do not use. **
288
+ ** RTTI, dynamic_cast, and ` <typeid> ` : Do not use**
293
289
- Rationale: RTTI adds extra data to every virtual class. ExecuTorch doesn't
294
290
have a strong need for ` dynamic_cast ` and friends, so it's better to reduce
295
291
the binary size.
296
292
297
- ** Templates and template metaprogramming: Be careful and avoid if possible. **
293
+ ** Templates and template metaprogramming: Be careful and avoid if possible**
298
294
- Rationale: Most templating results in code generation, and is one of the most
299
295
common sources of binary bloat. Some use of templates is fine (e.g. an
300
296
` ArrayRef<T> ` , or code that handles multiple ` ScalarType ` types), but for the
@@ -359,7 +355,7 @@ docs](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/
359
355
for basics.
360
356
361
357
1 . Push your branch to your fork of ` pytorch/executorch ` . Most people do not
362
- have permission to push a branch directoy to the upstream repo.
358
+ have permission to push a branch directory to the upstream repo.
363
359
1 . Create your PR
364
360
- Use the ` main ` branch as the base.
365
361
- Give the PR a clear and descriptive title. It will become the title of the
0 commit comments