-
Notifications
You must be signed in to change notification settings - Fork 26.1k
Open
Labels
module: memory formatMemory format/layout related issues/changes (channels_last, nhwc)Memory format/layout related issues/changes (channels_last, nhwc)triagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate moduleThis issue has been looked at a team member, and triaged and prioritized into an appropriate module
Description
Release goals:
- Support ResNet50, AlexNet, ResNeXt and proof performance gain on mixed precision models + Volta GPUs.
- Unlock developers to extend channels last operators coverage.
Tasks:
- Change factory functions (
_likeand similars) to optionally preserve format (Fix jit outplace tracing and reapply changes to *_like operators. #28839) and land with docs. - Switch factory functions to preserve memory format by default (BC breaking) and fix all call sites (link tracking issue).
- Fix TensorIterator to preserve memory format (TensroIterator preserve format for binary, ternary operators. #28291).
- Land CudNN changes to support channels last ([cudnn nhwc support] #23861).
- Land
adaptive_avg_pool2d(CUDA) changes to support channels last ([nhwc support for adaptive_avg_pool2d & adaptive_avg_pool2d_backward] #24396). - Add
torch.memory_formatsupport to the TorchScript (Add torch.memory_format support to the TorchScript #28544). - Add model developer document how to check if model propagates NHWC forward and backward. Add documentation how to debug if model loosing channels last.
- Add TorchVision transformer and loader PRs (need to avoid additional memory copies on loading).
- Add developer docs how to write NHWC operators (https://github.com/pytorch/pytorch/wiki/Writing-memory-format-aware-operators)
- Add dev docs how to check if operator support memory formats.
- Documentation describing what is channels last, overlapping tensors, dense tensors, contiguous and when tensor can be both.
- Add channels last support to
cuda.comm.scatterandcuda.comm.gather(Add channels last support to cuda.comm.scatter and gather #28077) - Add model level .to_channels_last operator to convert weights.
- Fix max_pool2d bug (Channels last max_pool2d fails with specific inputs #28714).
- Revoke mutually exclusive requirement on channels last and contiguous memory formats (Revoking mutually exclusive requirement on channels last and contiguous tensor #28466).
- Figure out if we can ship binaries with CudNN >= 7.4
- Update site docs for
*_like,clone,to
Stretch goals:
- 1d and 3d support.
constroy
Metadata
Metadata
Assignees
Labels
module: memory formatMemory format/layout related issues/changes (channels_last, nhwc)Memory format/layout related issues/changes (channels_last, nhwc)triagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate moduleThis issue has been looked at a team member, and triaged and prioritized into an appropriate module