Looked into it, [0] looks like you add some compiler instructures before code you want to outsource to the coprocessor. It doesnt look extreme, mostly naming which variables need to be sent and to where. Ive never worked with cuda so I dont know if its a pain or not. Looking into it, it seems instead of x86 code it is cuda prefixed functions that will offload. Granted, there are speed advantages to having direct accessbto memory, I dont think Api is the biggest selling point.
Im quite interested in seeing if nvidia thinks this is a threat and how they will respond. New systems may stay with nvidia just because the experience and failures have been there. Though if the speed gains are even 25% I would bet there would be a migration
[0] https://software.intel.com/sites/default/files/managed/ee/4e...