Designing CPUs for next-generation supercomputing