1. A computer implemented method comprising: receiving data representing a processing capability requirement of an application program for one or more threads of the application program; and generating one or more compute identifiers for use by the one or more threads, at least one of the one or more compute identifiers specifying one or more physical compute devices.