1 2 ### FuncOpViewer and CodeModelFormatter 3 ---- 4 5 * [Contents](hat-00.md) 6 * House Keeping 7 * [Project Layout](hat-01-01-project-layout.md) 8 * [Building Babylon](hat-01-02-building-babylon.md) 9 * [Building HAT](hat-01-03-building-hat.md) 10 * Programming Model 11 * [Programming Model](hat-03-programming-model.md) 12 * Interface Mapping 13 * [Interface Mapping Overview](hat-04-01-interface-mapping.md) 14 * [Cascade Interface Mapping](hat-04-02-cascade-interface-mapping.md) 15 * Implementation Detail 16 * [Walkthrough Of Accelerator.compute()](hat-accelerator-compute.md) 17 * [How we minimize buffer transfers](hat-minimizing-buffer-transfers.md) 18 19 ---- 20 21 22 We have a few 'tools' in [hat/tools/src/main/java/hat/tools](https://github.com/openjdk/babylon/blob/code-reflection/hat/tools) 23 which might be useful to others 24 25 Two in particular 26 27 #### FuncOpViewer 28 This is a swing app which takes a text file containing text form of a CodeModel (as dumped by the OopWriter) 29 30 31 We can generate text for kernels using 32 ``` 33 HAT=SHOW_KERNEL_MODEL java @hat/run ffi-opencl mandel 34 ``` 35 36 From the standard out copy the text satrting with `func @loc....1` to the closing `}` and paste it into a file (say mandel.cr) 37 38 Then 39 40 ``` 41 java -cp build/hat-tools-1.0.jar hat.tools.textmodel.ui.FuncOpViewer mandle.cr 42 ``` 43 44 ### CodeModelFormatter 45 46 Is a terminal based tool (useful if you are accessing a machine via ssh - and can't launch ui) 47 48 With it you can dump to the terminal a colorized version of the code model, slightly prettied up with java source for each line inserted as a comment. 49 50 ``` 51 java -cp build/hat-tools-1.0.jar hat.tools.textmodel.terminal.CodeModelFormatter code.cr 52 ``` 53