Programming many-core systems with GRAMPS