by dar » Fri Sep 19, 2014 8:24 pm
There are, or rather were, but I need to re-validate them. I am working on a project where I happen to need to
do this so I can get back to you with a more clear answer soon. FYI here is the API that once worked on an earlier prototype platform - I will just list the calls and maybe you can read between the lines since they are designed to support exactly what you are trying to do. I do not want to post the full API spec until I can re-validate since I do not want to post something that people cannot actually use.
typedef threadspec_t;
// get thread handle based on OpenCL local ID
threadspec_t get_thread( int dim, unsigned int* ltid );
// copy contents of array into same array of another thread
void* memsync( void* ptr, size_t n, threadspec_t thrs, int flags );
// copy contents of array to a different array of another thread
void* memsend( void* src, size_t n, threadspec_t thrs, int flags );
// receive contents of an array from another thread
void* memrecv( void* dst, size_t n, threadspec_t thrs, int flags );
memsend/memrecv must be paired.