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 ```