Supercomputers in particular usually have highly unique architectures that differ considerably from the fundamental stored-program architecture and from general-purpose computers. They usually feature hundreds of CPUs, personalized high-speed interconnects, and specialised computing hardware. Such designs are usually useful for under specialized duties due to the large scale of program group required to successfully utilize many of the obtainable resources without delay. Supercomputers usually see usage in large-scale simulation, graphics rendering, and cryptography applications, as well as with different so-called “embarrassingly parallel” tasks.