Abstract: Technologies are presented for automatically generating accelerator code for datacenter users, detecting multiple hardware tenants with overlapping accelerator needs, and managing the accelerator needs of the tenants so that they can share use of programmable accelerator hardware. In some examples, the accelerator code may also be customer supplied. In other examples, a delay that simulates accelerator programming for a user first accessing an accelerator that was virtualized from a pre-existing one may be applied. By simulating the delay, co-location detection (a form of side channel attack) may be prevented.