pytorch/docs
Banit Agrawal ac3effd150 [PyTorch GPU Allocator] Better use of blocks with rounding of allocation sizes (#74213)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/74213

In the current CUDACachingAllocator, the sizes are rounded up in multiple of blocks size of 512, so this works for smaller sizes. However for large sizes, we can have lots of different size blocks in the larger pool. This is problematic when we have variable batch sizes 1001, 1021, 1023 -> all will go to different block size and will create different size of blocks. This will create lots of unused blocks and will waste GPU memory capacity.

This diff adds a rounding approach to allocation size. It rounds up the size to nearest power-of-2 divisions and the power2-division can be changed with env variable setting.

   For example, if we need to round-up  size of1200 and if number of divisions is 4,
   the size 1200 lies between 1024 and 2048 and if we do 4 divisions between
   them, the values are 1024, 1280, 1536, and 1792. So the function will
   return 1280 as the nearest ceiling of power-2 division.

env setting:
   export PYTORCH_CUDA_ALLOC_CONF=roundup_power2_divisions:4
ghstack-source-id: 151446017

Reviewed By: ezyang

Differential Revision: D34868036

fbshipit-source-id: 494785add16e6b37c920dcb5a2b81d4c637b554a
(cherry picked from commit 548454ccacbd8700e7ffd2d762e40b4ba37abbae)
2022-03-16 02:53:53 +00:00
..
caffe2 Revert D30279364: [codemod][lint][fbcode/c*] Enable BLACK by default 2021-08-12 11:45:01 -07:00
cpp add VS extension in doc (#63944) 2021-11-11 18:02:08 -08:00
source [PyTorch GPU Allocator] Better use of blocks with rounding of allocation sizes (#74213) 2022-03-16 02:53:53 +00:00
.gitignore
libtorch.rst DOC: Building libtorch using CMake (#44196) 2020-10-21 14:29:36 -07:00
make.bat Sphinx parallel build (#38785) 2020-05-21 13:03:55 -07:00
Makefile DOC: fail to build if there are warnings (#41335) 2020-07-28 22:33:44 -07:00
README.md Add docs/README.md to make existing doc build info more discoverable (#49286) 2020-12-16 11:55:45 -08:00
requirements.txt Sphinx panel 2022-03-07 14:50:09 +00:00

Please see the Writing documentation section of CONTRIBUTING.md for details on both writing and building the docs.