8c12d615b4ed4b1d782722a125dd1d43bc44a71b |
|
20-Jun-2015 |
Yang Ni <yangni@google.com> |
Check kernels before fusing b/21958851 Kernel fusion for a Script Group expects kernels to be chained up via outputs (return values) and first arguments. Check this condition during fusion. Otherwise, BCC may crash on broken invariants. Change-Id: I013558c77dc3f79d6e42986121927dd6c695f27e
/frameworks/compile/libbcc/include/bcc/Renderscript/RSScriptGroupFusion.h
|
0ab50b835805c75ad164466767c2c212f48954cc |
|
16-Feb-2015 |
Yang Ni <yangni@google.com> |
Create one single module for a script group This changed the way we compile a script group. Instead of compiling each batch into a seperate module, we now compile the whole script group into one single module, with each batch as a function (of fused kernels) in that module. This allows invoke to (fused) kernel communication via globals variables. Added commoand line options "-merge" and "-invoke". The former accepts fused kernel names, input kernels, while the latter accepts new invoke name, and the original invoke function. Additional changes: - Bail out on encountering any unexpected bits in the foreach signature of any kernel to fuse - Made kernel fusion handle kernels without inputs. If a kernel only takes global allocations but no inputs, bcc needs to use a different signature for the fused kernel. - Included in rs info the exported variables for the fused kernel. - Keep all metadata in merged module from the input modules. This would help correctly handling FP precision. (b/19098612) - Handles Z (b/19610223) Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
/frameworks/compile/libbcc/include/bcc/Renderscript/RSScriptGroupFusion.h
|
a4ded1373d7ad3e503f186e65bccf94126a0f020 |
|
18-Nov-2014 |
Yang Ni <yangni@google.com> |
Compiler kernel fusion for RenderScript. This was started by Tobias Grosser during his internship at Google in 2013. This CL includes his original changes and generalization to make it work with the new proposed ScriptGroup API and made the ImageProcessing processing work with this. An enabling CL is needed in the RenderScript runtime, which I will post seperately. Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
/frameworks/compile/libbcc/include/bcc/Renderscript/RSScriptGroupFusion.h
|