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     * [Building HAT](hat-01-03-building-hat.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      ./
32      +--build/                     All jars, native libs and executables
33      |    +--cmake-build-debug/    All intermediate cmake artifacts
34      |
35      +--stage/
36      |    +--repo/                 All downloaded maven assets
37      |    |
38      |    +--jextract/             All jextracted files
39      |    |    +--opencl
40      |    |    +--opengl
41      |    |    +--cuda
42      |
43      +--hat                        * Note maven style layout
44      |    +--src/main/java
45      |    |    +--hat/
46      |    |
47      |    +--src/main/test
48      |         +--hat/
49      |
50      +--backends
51      |    +--java
52      |    |    +--mt                    (*)
53      |    |    +--seq                   (*)
54      |    +--jextracted
55      |    |    +--opencl                (*)
56      |    +--ffi
57      |    |    +--opencl                (*)
58      |    |    +--ptx                   (*)
59      |    |    +--mock                  (*)
60      |    |    +--spirv                 (*)
61      |    |    +--cuda                  (*)
62      |    |    +--hip                   (*)
63      |
64      +--examples
65      |    +--mandel                (*)
66      |    +--squares               (*)
67      |    +--heal                  (*)
68      |    +--life                  (*)
69      |    +--violajones            (*)
70 
71 ```