Heterogeneous CPU-GPU Computing for the Finite Volume Method on 3D Unstructured Meshes