A framework for parallel unstructured grid applications on GPUs