Sorry to rain on your parade, but I honestly don't think that a GPU is faster than a CPU. A fast GPU renders data around 700mhz, where a cpu can go up too and can easily succeed 3000mhz. Although, GPU's do have their own RAM built into the chip which increase the speed and aren't affected by interruptions. Although turning a GPU into a mathematical processing system and having it run faster than a CPU which's sole purpose is to process that sort of stuff seems incredibly unlikely. Also, coding that into dwarf fortress is incredibly time consuming, buggy and hard. It would be far better if multi threading was introduced.
A GPU is a massively parallel processing unit. It crunches a lot of numbers, very fast.
The speed difference is brought about because a GPU has an enormously large number of transistors, many many more then a CPU. This introduces the large clock speed difference, but again the GPU can still process numbers faster then the CPU.
A CPU is built for general purpose operations. It can do a lot more things then a GPU instruction wise, but the fewer things a GPU can do it does them a hell of a lot faster.
I would also like to say that this probably wouldn't be much more difficult to do then multithreading. If a game isn't designed with multithreading in mind from the ground up, it's a rather large undertaking to make it multithreaded.