Mapping methodologies for heterogeneous computing