Skip to content

Commit 8b85b8a

Browse files
colesburyezyang
authored andcommitted
Avoid @generated in templates. (#7858)
* Avoid @generated in templates. We want @generated only in the build products. Otherwise, templates are locked and changes to the templates are excluded from phabricator. Also adds @generated to autograd generated files (e.g. VariableType.cpp). See #7780 * Don't try to specify the template filename in generated comment The template filename is not always the same as the generated filename.
1 parent 07f55ae commit 8b85b8a

20 files changed

+61
-35
lines changed

aten/src/ATen/copy_wrapper.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
from function_wrapper import nested_dict
33

44
FILE = CodeTemplate("""\
5+
// ${generated_comment}
6+
57
#include "ATen/Config.h"
68
79
#include "TH/TH.h"
@@ -199,6 +201,7 @@ def create(all_types, backend):
199201
'copy_includes': [],
200202
'copy_functions': [],
201203
'cuda_includes': [],
204+
'generated_comment': '@' + 'generated by aten/src/ATen/copy_wrapper.py'
202205
}
203206

204207
if backend == 'CUDA':

aten/src/ATen/gen.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,12 @@ def write_outputs(self, filename):
7373
''.join(name + ";" for name in sorted(self.filenames)))
7474
self.outputs_written = True
7575

76-
def write(self, filename, s):
76+
def write(self, filename, s, env=None):
7777
filename = '{}/{}'.format(options.output_dir, filename)
78+
if isinstance(s, CodeTemplate):
79+
assert env is not None
80+
env['generated_comment'] = "@" + "generated by aten/src/ATen/gen.py"
81+
s = s.substitute(env)
7882
self._write_if_changed(filename, s)
7983
if filename not in self.filenames:
8084
self.undeclared_files.append(filename)
@@ -316,19 +320,19 @@ def generate_storage_type_and_tensor(backend, density, scalar_type, declarations
316320
if density != 'Sparse':
317321
# there are no special storage types for Sparse, they are composed
318322
# of Dense tensors
319-
fm.write(env['Storage'] + ".cpp", STORAGE_DERIVED_CPP.substitute(env))
320-
fm.write(env['Storage'] + ".h", STORAGE_DERIVED_H.substitute(env))
323+
fm.write(env['Storage'] + ".cpp", STORAGE_DERIVED_CPP, env)
324+
fm.write(env['Storage'] + ".h", STORAGE_DERIVED_H, env)
321325
env['TensorDenseOrSparse'] = TENSOR_DENSE_CPP.substitute(env)
322326
env['THTensor_nDimension'] = 'tensor->nDimension'
323327
else:
324328
env['TensorDenseOrSparse'] = TENSOR_SPARSE_CPP.substitute(env)
325329
env['THTensor_nDimension'] = 'tensor->nDimensionI + tensor->nDimensionV'
326330

327-
fm.write(env['Type'] + ".cpp", TYPE_DERIVED_CPP.substitute(env))
328-
fm.write(env['Type'] + ".h", TYPE_DERIVED_H.substitute(env))
331+
fm.write(env['Type'] + ".cpp", TYPE_DERIVED_CPP, env)
332+
fm.write(env['Type'] + ".h", TYPE_DERIVED_H, env)
329333

330-
fm.write(env['Tensor'] + ".cpp", TENSOR_DERIVED_CPP.substitute(env))
331-
fm.write(env['Tensor'] + ".h", TENSOR_DERIVED_H.substitute(env))
334+
fm.write(env['Tensor'] + ".cpp", TENSOR_DERIVED_CPP, env)
335+
fm.write(env['Tensor'] + ".h", TENSOR_DERIVED_H, env)
332336

333337
type_register = TYPE_REGISTER.substitute(backend=env['Backend'], scalar_type=scalar_name, type_name=env['Type'])
334338
if env['DenseBackend'] == 'CPU':
@@ -410,7 +414,7 @@ def generate_outputs():
410414
fm = file_manager
411415
if env['name'] == 'CUDA':
412416
fm = cuda_file_manager
413-
fm.write(fname, GENERATOR_DERIVED.substitute(env))
417+
fm.write(fname, GENERATOR_DERIVED, env)
414418

415419
# note: this will fill in top_env['type/tensor_method_declarations/definitions']
416420
# and modify the declarations to include any information that will all_backends
@@ -426,19 +430,19 @@ def generate_outputs():
426430
all_types.append(generate_storage_type_and_tensor(
427431
backend, density, scalar_type, declarations))
428432

429-
file_manager.write('Type.h', TYPE_H.substitute(top_env))
430-
file_manager.write('Type.cpp', TYPE_CPP.substitute(top_env))
433+
file_manager.write('Type.h', TYPE_H, top_env)
434+
file_manager.write('Type.cpp', TYPE_CPP, top_env)
431435

432-
cuda_file_manager.write('RegisterCUDA.h', REGISTER_CUDA_H.substitute(top_env))
433-
cuda_file_manager.write('RegisterCUDA.cpp', REGISTER_CUDA_CPP.substitute(top_env))
436+
cuda_file_manager.write('RegisterCUDA.h', REGISTER_CUDA_H, top_env)
437+
cuda_file_manager.write('RegisterCUDA.cpp', REGISTER_CUDA_CPP, top_env)
434438

435-
file_manager.write('Tensor.h', TENSOR_H.substitute(top_env))
436-
file_manager.write('TensorMethods.h', TENSOR_METHODS_H.substitute(top_env))
437-
file_manager.write('Functions.h', FUNCTIONS_H.substitute(top_env))
439+
file_manager.write('Tensor.h', TENSOR_H, top_env)
440+
file_manager.write('TensorMethods.h', TENSOR_METHODS_H, top_env)
441+
file_manager.write('Functions.h', FUNCTIONS_H, top_env)
438442

439443
file_manager.write('CPUCopy.cpp', copy_wrapper.create(all_types, 'CPU'))
440444
cuda_file_manager.write('CUDACopy.cpp', copy_wrapper.create(all_types, 'CUDA'))
441-
file_manager.write('NativeFunctions.h', NATIVE_FUNCTIONS_H.substitute(top_env))
445+
file_manager.write('NativeFunctions.h', NATIVE_FUNCTIONS_H, top_env)
442446

443447
file_manager.check_all_files_written()
444448
cuda_file_manager.check_all_files_written()

aten/src/ATen/templates/Functions.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// @generated
21
#pragma once
32

3+
// ${generated_comment}
4+
45
#include "ATen/Scalar.h"
56
#include "ATen/Type.h"
67
#include "ATen/Tensor.h"

aten/src/ATen/templates/GeneratorDerived.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// @generated
21
#pragma once
32

3+
// ${generated_comment}
4+
45
#include <$header>
56

67
#include "ATen/Generator.h"

aten/src/ATen/templates/NativeFunctions.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// @generated
21
#pragma once
32

3+
// ${generated_comment}
4+
45
#include "ATen/ATen.h"
56
#include <tuple>
67
#include <vector>

aten/src/ATen/templates/RegisterCUDA.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
// @generated
1+
#include <ATen/RegisterCUDA.h>
2+
3+
// ${generated_comment}
4+
25
#include <ATen/Type.h>
36
#include <ATen/Context.h>
47
#include <ATen/detail/VariableHooksInterface.h>

aten/src/ATen/templates/RegisterCUDA.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// @generated
21
#pragma once
32

3+
// ${generated_comment}
4+
45
namespace at {
56

67
class Context;

aten/src/ATen/templates/StorageDerived.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
// @generated
21
#include "ATen/${Storage}.h"
2+
3+
// ${generated_comment}
4+
35
#include "ATen/Half.h"
46
#include "ATen/Allocator.h"
57

aten/src/ATen/templates/StorageDerived.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// @generated
21
#pragma once
32

3+
// ${generated_comment}
4+
45
$th_headers
56

67
#include "ATen/Storage.h"

aten/src/ATen/templates/Tensor.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// @generated
21
#pragma once
32

3+
// ${generated_comment}
4+
45
#include "ATen/Generator.h"
56
#include "ATen/Scalar.h"
67
#include "ATen/ScalarType.h"

0 commit comments

Comments
 (0)