A Framework for Fine-Grained Synchronization of Dependent GPU Kernels | Synapse