1. A method, comprising: compiling a render graph that defines a data flow from one or more inputs to one or more outputs for images, wherein the data flow includes one or more filters to be applied to the images, and wherein compiling the render graph comprises: forming an assemblage of kernel invocations for the data flow and forming a mapping between kernel invocations in code for the one or more filters and the assemblage of kernel invocations; and for multiple ones of a plurality of frames of images, rewriting code in the one or more filters prior to execution of the code so that kernel invocations use hashed values of kernel names and wherein a finite state automaton maps hash-encoded kernel sequences in the code to execution sequences in the assemblage, executing code in the one or more filters, passing data into the assemblage to indicate which execution path in the assemblage should be chosen from among a plurality of possible execution paths for one of the filters, wherein the data is determined using at least the mapping and the executing code, and executing kernel invocations in the indicated execution path.