SHARE
TWEET

Untitled

a guest Jan 18th, 2019 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. available: 2 nodes (0-1)
  2. node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
  3. node 1 cpus: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
  4.    
  5. int numa_node(void *ptr) {
  6.   int status;
  7.   int ret_code;
  8.   if((ret_code = move_pages(0, 1, &ptr, NULL, &status, 0)) == -1) {
  9.     perror("move_pages");
  10.     return -1;
  11.   }
  12.   return status;
  13. }
  14.  
  15. int main(int argc, char* argv[]) {
  16.   int pgsize = getpagesize();
  17.   printf("NUMA test(pgsize=%d)n",pgsize);
  18.   #pragma omp parallel firstprivate(pgsize)
  19.   {
  20.  
  21.     if(omp_get_thread_num() == 20) {
  22.       char *m = aligned_alloc(pgsize, pgsize);
  23.       m[0] = 'a';
  24.       if(mlock(m, 10) == -1) {
  25.         perror("mlock");
  26.       }
  27.       else {
  28.         int node = numa_node(m);
  29.         printf("thread %d: node %dn",20,node);
  30.       }
  31.     }
  32.  
  33.   }
  34.  
  35. }
  36.    
  37. NUMA test(pgsize=4096)
  38. thread 20: node 0
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top