summaryrefslogtreecommitdiff
path: root/docs/nncc/project_guide.md
blob: af6a5acfdd8eb8b8c99767e535b08e81ab1414bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
### How to create your own project
_nncc_ aims to make it easy to develop optimized, retargetable NN compilers. Anyone or team interested in _nncc_ can create a new incubating project.

#### Subject
Subject is related to NN(Neural Network) complier. Some examples are below, but not limited:
- NN IR(Intermediate Representation)
- Extended frontend and backend
- High-performance (model optimization, memory optimization, scheduling, etc.)
- Tools (verification, benchmark, visualization, etc.)
- Tutorial, testbed

#### How to propose
There is no formal proposal process. Anyone can submit an issue or a PR as a starting point of a proposal. It would be helpful that the submissions have documents or descriptions containing the followings to share your idea and concept and attract new contibutors to your project (not mandatory):
- Overview, goal or architecture description to explain your project
- How-to guide including building and running your programs

#### Directory to use
- A directory under `compiler/`, which starts with your project name.

#### Requirement
- A project should follow the formal review process that _nncc_ is currently using [[(How to create a Pull Request (in contribution guide)](contribution_guide.md#how-to-create-a-pull-request)].

#### How to enable format checker
- Create a `.FORMATCHECKED` file in your project directory for format checker to check the source code of the directory and its subdirectories.

#### How to contribute`
Anyone who wants to contribute can create and submit PRs and issues following [nncc contribution_guide](contribution_guide.md). _nncc_ always welcomes your contribution.