Let me know if this doesn't qualify as a guru-level question.
Graphics Core Next assembly programs run on AMD GPUs. They can communicate with the outside world in at least two ways: with the host via the PCIe bus, and with the user's eyeballs via the video RAMDAC (well, nowadays we don't have analog displays anymore so I guess I should say DisplayPort LVDS).
However AMD GPUs have quite a large number of peripherals. There are JTAG and I2C pinouts on the PCIe cardedge, an SMBUS (SPI) link on every DVI connector, and DisplayPort can even receive packets from the monitor. I think there's some sort of audio support on a lot of graphics cards although I've never used it myself.
QUESTION: is it possible for code running on the GPU (i.e. GCN code) to receive input from the outside world using any of the mechanisms above, or any other, without the help of the host CPU?
This is for a datacenter-scale installation involving custom board development. We're interested in reducing the number of CPUs we have to buy. Significant engineering resources are available to accomplish this, assuming it is possible. A custom LVDS/TMDS board to receive transmitted data from the GPU is already in the works, but we need to find a way to send data in the other direction (to the GPU) for the final greenlight.