execute :: (Input (Exp a) , Output (Exp b),Sources' (GArr (Exp a))) => 
               (GArr (Exp a) -> GPU (GArr (Exp b))) -> 
                   [Exp a] -> IO [Exp b] 
execute = execute' GPU
execute :: (Input (Exp a) , Output (Exp b),Sources' (GArr (Exp a))) => 
               (GArr (Exp a) -> GPU (GArr (Exp b))) -> 
                   [Exp a] -> IO [Exp b]
execute = execute' GPU
execute = execute' GPU