From: Venelin Mitov (vmitov_at_gmail_dot_com)
Date: Wed Jan 05 2005 - 08:19:13 PST
Hello, Can somebody explain me how exactly the upc_memget, upc_memput and upc_memcpy functions work by specification and implementation? I'm interested in what they do when the shared memory block to copy from/to is not local to only one thread only. Are those functions written in upc(can we see their code)? THREADS = 2 #define N (4*THREADS) shared[N/THREADS] int P[2][N]; int begin = 0, end = 6; int* p = (int*)malloc((end-begin)*sizeof(int)); if(p == NULL) upc_global_exit(3); //upc_memget(p, &P[idx][begin], (end-begin)*sizeof(int)); for(i = 0; i < end - begin; i++) p[i] = P[idx][begin+i]; When to apply a for cycle or a upc_mem* function? Regards, Venelin Mitov