| 575 | } |
| 576 | |
| 577 | ibv_mr* GdrMemoryManager::FindMemoryRegion(const Tensor* tensor) { |
| 578 | const void* addr = DMAHelper::buffer(tensor)->data(); |
| 579 | mutex_lock l(alloc_mu_); |
| 580 | auto iter = std::upper_bound(mrs_.begin(), mrs_.end(), addr, &Comparator); |
| 581 | if (iter == std::end(mrs_) || iter->get()->addr > addr) { |
| 582 | return nullptr; |
| 583 | } else { |
| 584 | return iter->get(); |
| 585 | } |
| 586 | } |
| 587 | |
| 588 | void GdrMemoryManager::InsertMemoryRegion(void* addr, size_t length, |
| 589 | const std::string& allocator_name) { |