Few systems offer the full range of desired features. modularity (for libraries) access to peak performance portability heterogeneity subgroups topologies performance measurement tools