pytorch/caffe2
Ke Wen b291dc9684 [2/N][SymmMem] Add MemPool allocator and tests (#161471)
(Porting most of #161008)

Hooking SymmetricMemory Allocator to MemPool so that user can create symmetric tensors with regular `torch.zeros`, `torch.arange` etc factories. Also so that our ops can have functional variants that create `out` tensors on symmetric memory.

To end users, this PR supports a python UI as follows:
```
allocator = symm_mem.get_mempool_allocator(device)
mempool = torch.cuda.MemPool(allocator)
with torch.cuda.use_mem_pool(mempool):
    tensor = torch.arange(numel, dtype=dtype, device=device)
```

Added tests for both use cases above.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/161471
Approved by: https://github.com/ngimel
ghstack dependencies: #161470
2025-08-28 06:31:29 +00:00
..
core Record the XPU and XCCL build settings in the compiled binary (#147161) 2025-05-20 09:21:39 +00:00
perfkernels [2/N] Fix cppcoreguidelines-init-variables suppression (#146237) 2025-06-19 23:26:42 +00:00
serialize [2/N] Fix cppcoreguidelines-init-variables suppression (#146237) 2025-06-19 23:26:42 +00:00
utils [3/N] Use internal linkage in C++ files (#151297) 2025-05-05 17:48:39 +00:00
.clang-format [BE][clang-format] make macro PyObject_HEAD_INIT(type) and PyVarObject_HEAD_INIT(type, size) have its own line (#136949) 2024-10-02 18:39:22 +00:00
CMakeLists.txt [2/N][SymmMem] Add MemPool allocator and tests (#161471) 2025-08-28 06:31:29 +00:00
unexported_symbols.lds
version_script.lds