Rate This Document
Findability
Accuracy
Completeness
Readability

Application Ended Properly with Error "Failed to Bind Memory"

Symptom

Running an MPI job on one or more nodes with the specified -bind-to core triggers the error "failed to bind memory".

-------------------------------------------------------------------------- 
WARNING: Open MPI tried to bind a process but failed.  This is a 
warning only; your job will continue, though performance may 
be degraded. 
 
  Local host:        node175 
  Application name:  /root/tqa/osu-micro-benchmarks-7.1-1/c/mpi/collective/blocking/osu_bcast 
  Error message:     failed to bind memory 
  Location:          rtc_hwloc.c:447 
 
-------------------------------------------------------------------------- 
[node175:06049] 63 more processes have sent help message help-orte-odls-default.txt / memory not bound 
[node175:06049] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

Possible Cause

The node is not fully inserted with memory modules, leaving some NUMA nodes unbound. To verify if memory modules are bound, run the numactl --hardware command.

available: 4 nodes (0-3) 
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
node 0 size: 31566 MB 
node 0 free: 30548 MB 
node 1 cpus: 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 
node 1 size: 0 MB 
node 1 free: 0 MB 
node 2 cpus: 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 
node 2 size: 31049 MB 
node 2 free: 29424 MB 
node 3 cpus: 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 
node 3 size: 0 MB 
node 3 free: 0 MB 
node distances: 
node   0   1   2   3  
  0:  10  12  35  37  
  1:  12  10  37  40  
  2:  35  37  10  12  
  3:  37  40  12  10 

The above information shows that neither node1 nor node2 is bound to the memory.

Recovery Procedure

  1. For smaller-scale processes, use rankfile to avoid binding processes to NUMA nodes lacking memory.
  2. Insert DIMMs fully.