I know this is done via crossfire in Windows. Couldn't Apple do this in OSX globally so that all apps see the GPU as one and will not have to be individually coded to use both GPUs?
They could of but having 2 separate GPU's is a much smarter move unless you are gaming. Performance can be coded to utilize 2 separate GPU's much more efficiently then having them combined. Think of the Mac Pro's GPU setup like hyperthreading versus one single core. This was my understanding, correct me if I'm wrong though!
I know this is done via crossfire in Windows. Couldn't Apple do this in OSX globally so that all apps see the GPU as one and will not have to be individually coded to use both GPUs?
By default, one GPU is setup for display duties while the other is used exclusively for GPU compute workloads. GPUs are notoriously bad at context switching, which can severely limit compute performance if the GPU also has to deal with the rendering workloads associated with display in a modern OS.