On Mon, Jul 13, 2015 at 04:38:33PM +0300, Ilya Verbin wrote: > On Mon, Jul 13, 2015 at 15:17:29 +0200, Jakub Jelinek wrote: > > Here is a new version that I've committed. I've finished up > > associate/disassociate, wrote a test and tested also with intelmicemul > > offloading. > > Great! > > > + k->refcount = INT_MAX; > > Shouldn't it be UINTPTR_MAX?
Dunno if we can count on it being in stdint.h on all targets. Perhaps #define REFCOUNT_INFINITY (~(uintptr_t) 0) ? > > + /* FIXME: Support device-to-device somehow? */ > > Should libgomp copy data device-host-device if device-device is not supported > by > target? Current liboffloadmic doesn't support this. I'll find out if there > are > any plans. There is also the option to spawn an offloaded function that will just call memcpy, or have such a function next to the main () of the program that we link in. Also, could you see if the 2 and 3 dimension memcpy_rect couldn't be handled more efficiently by liboffloadmic too? >From what I can see, on the cuda side there is some cudaMemcpy2D and cudaMemcpy3D, though I admit I haven't studied in detail what exactly they do. Jakub