Other then assigning addresses to all the units what else is there to consider? They will all be on the same board or chip even so you won't have all the problems that come from trying to sync up two cards on different slots/busses.
We've had lots of graphics cards with 2 GPUs on the same board but they still had to work in a crossfire/SLI type setup for gaming. I'm not saying it's impossible that someone could make an MCM type GPU and for sure we know AMD has been working on such a solution, but it's a very different thing than expanding a single chip design.
I'm not a GPU designer, but from what I do know of digital design and what I've read from professionals on the matter, the main problem is data coherency. In order to have a multi-GPU system appear as a single unit, you are adding an extra layer of abstraction in the data management between hardware and software.
So you have to drastically rework the individual GPUs in how data is handled and then you have to create a new piece of hardware that can intelligently manage the data flow. Where in the stack that new hardware exists or if it's one circuit or several at different layers I imagine is all being researched for optimal performance.
From a compute perspective, this is a lot easier to handle and can be handled even today with the current hardware implementation of today's GPUs. However, with gaming, you need real time response of constant data flow with low latency requirements (the more fps you want, the lower latency you need).