I am trying to use GPU for a specific purpose, and I would like to ask following
questions about internals of GPU.
Is there any operating system running on the GPU – or is everything implemented in hardware?
If everything is implemented in hardware how does the device driver interacts with the GPU?
No operating system is running on GPU, and the device driver is interacting with GPU on the same way as any other device driver is interacting with the hardware it is managing: through sending and receiving messages over corresponding bus (PCI bus in this particular case).
But he wasn’t talking about the driver, he was talking about the driver API, which is one of the two CUDA programming APIs. Look at the diagram you posted. The operating system and hardware level stuff is the green bits at the bottom, including the driver. The driver API is one of the apricot coloured bits at the top of the diagram. Not the same thing all all.
I don’t believe there is user modifiable flash or EEPROM memory on current cards. I have never heard of BIOS reflashing or anything like that with NVIDIA cards. Whatever firmware there is for a given card is probably pushed onto the device by the driver bundle.
There is some type of micro os on the cards, and you can flash them for sure google nvFlash, not that i think its smart messing with any of that stuff !!! you can end up with an expensive door stop easily. Most people who flash usualy want to modify some default setting.