mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Summary: This PR splits the CPU and CUDA fusion compilers, putting them into a new jit/fusers/ directory with jit/fusers/common for common components. In particular: - A fusion interface is created that allows "fusion handles" to be requested - The CPU and CUDA fusers implement this interface, with dispatch determined by device - The fusion compilers, fusion function specializations and resource strings are split - CPU-specific classes like TempFile and DynamicLibrary are in the CPU fuser - Common classes likes TensorDesc and the base fusion function class are in jit/fusers/common - There is still some specialization in jit/fusers/common, but these specializations are small(-ish) - Updates the build system to remove the dummy interface on Windows and minimize the use of macros This structure should allow in-flight PRs to easily rebase while providing a clear interface to the fusers. Pull Request resolved: https://github.com/pytorch/pytorch/pull/10981 Reviewed By: soumith Differential Revision: D9701999 Pulled By: apaszke fbshipit-source-id: 3b6bec7b97e0444b2a93caa38d9b897f2e68c1b3
210 lines
3.0 KiB
Plaintext
210 lines
3.0 KiB
Plaintext
# READ THIS BEFORE YOU REFACTOR ME
|
|
#
|
|
# setup.py uses the list of patterns in this file to decide
|
|
# what to delete, but it's not 100% sound. So, for example,
|
|
# if you delete aten/build/ because it's redundant with build/,
|
|
# aten/build/ will stop being cleaned. So be careful when
|
|
# refactoring this file!
|
|
|
|
## PyTorch
|
|
|
|
.mypy_cache
|
|
*/*.pyc
|
|
*/*.so*
|
|
*/**/__pycache__
|
|
*/**/*.dylib*
|
|
*/**/*.pyc
|
|
*/**/*.pyd
|
|
*/**/*.so*
|
|
*/**/**/*.pyc
|
|
*/**/**/**/*.pyc
|
|
*/**/**/**/**/*.pyc
|
|
aten/build/
|
|
aten/src/ATen/Config.h
|
|
aten/src/ATen/cuda/CUDAConfig.h
|
|
build/
|
|
dist/
|
|
docs/src/**/*
|
|
docs/cpp/xml/
|
|
docs/cpp/html/
|
|
docs/cpp/api/
|
|
test/.coverage
|
|
test/cpp/api/mnist
|
|
test/custom_operator/model.pt
|
|
test/data/gpu_tensors.pt
|
|
test/data/legacy_modules.t7
|
|
test/data/legacy_serialized.pt
|
|
test/data/linear.pt
|
|
test/htmlcov
|
|
test/cpp_extensions/install/
|
|
third_party/build/
|
|
tools/shared/_utils_internal.py
|
|
torch.egg-info/
|
|
torch/csrc/autograd/generated/*
|
|
torch/csrc/cudnn/cuDNN.cpp
|
|
torch/csrc/generated
|
|
torch/csrc/generic/TensorMethods.cpp
|
|
torch/csrc/jit/generated/*
|
|
torch/csrc/jit/fusers/Config.h
|
|
torch/csrc/nn/THCUNN.cpp
|
|
torch/csrc/nn/THCUNN.cwrap
|
|
torch/csrc/nn/THNN_generic.cpp
|
|
torch/csrc/nn/THNN_generic.cwrap
|
|
torch/csrc/nn/THNN_generic.h
|
|
torch/csrc/nn/THNN.cpp
|
|
torch/csrc/nn/THNN.cwrap
|
|
torch/lib/*.a*
|
|
torch/lib/*.dll*
|
|
torch/lib/*.exe*
|
|
torch/lib/*.dylib*
|
|
torch/lib/*.h
|
|
torch/lib/*.lib
|
|
torch/lib/*.so*
|
|
torch/lib/build
|
|
torch/lib/cmake
|
|
torch/lib/include
|
|
torch/lib/pkgconfig
|
|
torch/lib/protoc
|
|
torch/lib/tmp_install
|
|
torch/lib/torch_shm_manager
|
|
torch/lib/python*
|
|
torch/share/
|
|
torch/version.py
|
|
|
|
# IPython notebook checkpoints
|
|
.ipynb_checkpoints
|
|
|
|
# Editor temporaries
|
|
*.swn
|
|
*.swo
|
|
*.swp
|
|
*.swm
|
|
*~
|
|
|
|
# macOS dir files
|
|
.DS_Store
|
|
|
|
# Symbolic files
|
|
tools/shared/cwrap_common.py
|
|
|
|
# Ninja files
|
|
.ninja_deps
|
|
.ninja_log
|
|
compile_commands.json
|
|
*.egg-info/
|
|
docs/source/scripts/activation_images/
|
|
|
|
## General
|
|
|
|
# Compiled Object files
|
|
*.slo
|
|
*.lo
|
|
*.o
|
|
*.cuo
|
|
*.obj
|
|
|
|
# Compiled Dynamic libraries
|
|
*.so
|
|
*.dylib
|
|
*.dll
|
|
|
|
# Compiled Static libraries
|
|
*.lai
|
|
*.la
|
|
*.a
|
|
*.lib
|
|
|
|
# Compiled protocol buffers
|
|
*.pb.h
|
|
*.pb.cc
|
|
*_pb2.py
|
|
|
|
# Compiled python
|
|
*.pyc
|
|
*.pyd
|
|
|
|
# Compiled MATLAB
|
|
*.mex*
|
|
|
|
# IPython notebook checkpoints
|
|
.ipynb_checkpoints
|
|
|
|
# Editor temporaries
|
|
*.swn
|
|
*.swo
|
|
*.swp
|
|
*~
|
|
|
|
# Sublime Text settings
|
|
*.sublime-workspace
|
|
*.sublime-project
|
|
|
|
# Eclipse Project settings
|
|
*.*project
|
|
.settings
|
|
|
|
# QtCreator files
|
|
*.user
|
|
|
|
# PyCharm files
|
|
.idea
|
|
|
|
# OSX dir files
|
|
.DS_Store
|
|
|
|
## Caffe2
|
|
|
|
# build, distribute, and bins (+ python proto bindings)
|
|
build
|
|
build_host_protoc
|
|
build_android
|
|
build_ios
|
|
/build_*
|
|
.build_debug/*
|
|
.build_release/*
|
|
distribute/*
|
|
*.testbin
|
|
*.bin
|
|
cmake_build
|
|
.cmake_build
|
|
gen
|
|
.setuptools-cmake-build
|
|
.pytest_cache
|
|
aten/build/*
|
|
|
|
# Bram
|
|
plsdontbreak
|
|
|
|
# Generated documentation
|
|
docs/_site
|
|
docs/gathered
|
|
_site
|
|
doxygen
|
|
docs/dev
|
|
|
|
# LevelDB files
|
|
*.sst
|
|
*.ldb
|
|
LOCK
|
|
LOG*
|
|
CURRENT
|
|
MANIFEST-*
|
|
|
|
# generated version file
|
|
caffe2/version.py
|
|
|
|
# setup.py intermediates
|
|
.eggs
|
|
caffe2.egg-info
|
|
|
|
# Atom/Watchman required file
|
|
.watchmanconfig
|
|
|
|
# BEGIN NOT-CLEAN-FILES (setup.py handles this marker. Do not change.)
|
|
#
|
|
# Below files are not deleted by "setup.py clean".
|
|
|
|
# Visual Studio Code files
|
|
.vscode
|
|
.vs
|