Basically, anything with a program sophisticated enough (and has some way to receive virus, display and sound wouldn't work) can be virused.
Storage and BIOS (GPU's have BIOSes called VBIOS as well) can be hacked, therefore the most common is the OS in the storage, since when you get a foothold in the OS you can use all the hardware as you like. This makes the OS #1 target.
CPU is infeasible to hack, since the data in it gets refreshed frequently, and the microcode(firmware of the processor) is too small to carry a virus. Don't mix CPU vulnerabilities like Meltdown and Spectre to CPU viruses, they are vulnerabilities which lets malware to bypass security towards your OS and CPU is a bridge here.
GPU's can be hacked, but it's not so easy since you need to have:
physical access/root permissions
a signed code that carries the virus (not too easy to forge a signature on a code)
On top of that it's very rare.
BIOS can be hacked (bit easier than the GPU) but it's still not so feasible, but they are more common than GPU.
RAM's cannot be hacked since they are not made to hold data, they are there to process and send.
Power source is not hackable, out of question.
USB devices like USB drives are hackable, as seen on BadUSB, therefore advanced mouses and keyboards carry the risk, but still it's really infeasible. Also most don't have storage in them so the only way for it is the hack the OS again.