pytorch / xla
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 8% duplication:
    • 29,614 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,442 duplicated lines
  • 283 duplicates
system8% (2,442 lines)
Duplication per Extension
cpp7% (1,559 lines)
h16% (723 lines)
py3% (160 lines)
Duplication per Component (primary)
torch_xla/csrc9% (2,282 lines)
torch_xla/core6% (82 lines)
torch_xla/distributed3% (54 lines)
scripts2% (24 lines)
docker0% (0 lines)
ROOT0% (0 lines)
contrib/scripts0% (0 lines)
torch_xla0% (0 lines)
torch_xla/utils0% (0 lines)
torch_xla/amp0% (0 lines)
torch_xla/debug0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 283 duplicates...
Size#FoldersFilesLinesCode
26 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d_backward.cpp
nll_loss_backward.cpp
9:37 (37%)
9:37 (37%)
view
24 x 2 torch_xla/csrc
torch_xla/csrc
tensor_util.cpp
tensor_util.cpp
100:123 (2%)
927:950 (2%)
view
20 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss.cpp
nll_loss2d.cpp
9:31 (37%)
9:31 (37%)
view
18 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
convolution_backward_overrideable.h
convolution_overrideable.h
19:46 (64%)
28:55 (51%)
view
17 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
avg_pool_nd.h
avg_pool_nd_backward.h
16:44 (65%)
18:46 (60%)
view
15 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
max_pool_nd.h
max_pool_nd_backward.h
16:40 (62%)
17:39 (60%)
view
14 x 2 torch_xla/csrc
torch_xla/csrc
aten_autograd_ops.cpp
aten_autograd_ops.cpp
51:65 (12%)
112:126 (12%)
view
14 x 2 torch_xla/csrc
torch_xla/csrc
data_ops.cpp
data_ops.cpp
353:369 (3%)
422:438 (3%)
view
13 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
convolution_overrideable.cpp
convolution_overrideable.cpp
42:54 (14%)
62:74 (14%)
view
13 x 2 torch_xla/core
torch_xla/core
xla_builder.py
xla_builder.py
340:352 (2%)
375:387 (2%)
view
12 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
prod.h
sum.h
16:34 (66%)
16:34 (66%)
view
12 x 2 torch_xla/core
torch_xla/core
xla_builder.py
xla_builder.py
356:367 (1%)
393:404 (1%)
view
12 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
mean.h
sum.h
18:36 (66%)
16:34 (66%)
view
12 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d_backward.h
nll_loss_backward.h
14:31 (66%)
14:31 (66%)
view
12 x 2 torch_xla/csrc
torch_xla/csrc
nll_loss.cpp
nll_loss.cpp
114:125 (9%)
158:169 (9%)
view
12 x 2 torch_xla/distributed
torch_xla/distributed
worker.py
worker.py
36:49 (13%)
55:68 (13%)
view
12 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
var.h
var_mean.h
15:33 (66%)
15:33 (66%)
view
12 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
rrelu_with_noise.h
rrelu_with_noise_backward.h
15:33 (66%)
15:33 (63%)
view
12 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
mean.h
prod.h
18:36 (66%)
16:34 (66%)
view
11 x 2 torch_xla/core
torch_xla/core
xla_builder.py
xla_builder.py
322:332 (1%)
393:403 (1%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 27 unit duplicates...
Size#FoldersFilesLinesCode
24 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d_backward.cpp
nll_loss_backward.cpp
14:38 
14:38 
view
18 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d.cpp
nll_loss.cpp
14:32 
14:32 
view
13 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
1809:1822 
2140:2153 
view
13 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d_backward.cpp
nll_loss_backward.cpp
72:85 
72:85 
view
12 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
640:652 
674:686 
view
11 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
1609:1620 
2445:2456 
view
10 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
1067:1077 
1079:1089 
view
10 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
1740:1750 
1834:1844 
view
10 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
2584:2594 
2868:2878 
view
10 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d_backward.cpp
nll_loss_backward.cpp
60:70 
60:70 
view
9 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d.cpp
nll_loss.cpp
60:69 
60:69 
view
8 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
654:662 
664:672 
view
8 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
convolution_overrideable.cpp
convolution_backward_overrideable.cpp
104:112 
80:88 
view
8 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
avg_pool_nd_backward.cpp
avg_pool_nd.cpp
84:92 
80:88 
view
7 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
695:702 
710:717 
view
7 x 2 torch_xla/csrc
torch_xla/csrc
tensor_methods.cpp
tensor_methods.cpp
1494:1501 
1874:1881 
view
7 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
cumsum.cpp
cumprod.cpp
27:34 
28:35 
view
7 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
cumsum.cpp
cumprod.cpp
56:63 
57:64 
view
7 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
softmax.cpp
log_softmax.cpp
20:27 
20:27 
view
7 x 2 torch_xla/csrc/ops
torch_xla/csrc/ops
nll_loss2d.cpp
nll_loss.cpp
51:58 
51:58 
view