1 
 2 # Project Layout
 3 
 4 ----
 5 
 6 * [Contents](hat-00.md)
 7 * House Keeping
 8     * [Project Layout](hat-01-01-project-layout.md)
 9     * [Building Babylon](hat-01-02-building-babylon.md)
10     * [Maven and CMake](hat-01-03-maven-cmake.md)
11 * Programming Model
12     * [Programming Model](hat-03-programming-model.md)
13 * Interface Mapping
14     * [Interface Mapping Overview](hat-04-01-interface-mapping.md)
15     * [Cascade Interface Mapping](hat-04-02-cascade-interface-mapping.md)
16 * Implementation Detail
17     * [Walkthrough Of Accelerator.compute()](hat-accelerator-compute.md)
18 
19 ---
20 
21 # Primer
22 
23 This is a fairly large project with Java and Native artifacts which is completely dependant
24 on the `babylon` project, and as such is initially available in a sub directory
25 called `hat` under [github.com/openjdk/babylon](https://github.com/openjdk/babylon)
26 
27 ## Project Layout
28 
29 ```
30 ${BABYLON_JDK}
31    └── hat
32         │
33         ├── CMakeFile
34         ├── build
35         │
36         ├── intellij
37         │    ├── .idea
38         │    │    ├── compiler.xml
39         │    │    ├── misc.xml
40         │    │    ├── modules.xml
41         │    │    ├── uiDesigner.xml
42         │    │    ├── vcs.xml
43         │    │    └── workspace.xml
44         │    │
45         │    ├── hat.iml
46         │    ├── backend_(spirv|mock|cuda|ptx|opencl).iml
47         │    └── (mandel|violajones|experiments).iml
48         │
49         ├── hat
50         │    └── src
51         │         └── java
52         │
53         ├── backends
54         │    └── (opencl|cuda|ptx|mock|shared)
55         │          └── src
56         │              ├── cpp
57         │              ├── include
58         │              ├── java
59         │              └── services
60         └── examples
61              ├── mandel
62              │    └── src
63              │         └── java
64              └── violajones
65                   └── src
66                        ├── java
67                        └── resources
68 ```