Guest User

Untitled

a guest
Jan 18th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  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
Add Comment
Please, Sign In to add comment