Home › Census

Function-name census Syntology

One name, many papers, one shared input. For each function or class name that appears in several papers' harvested code, Syntology ran every implementation it holds on one shared input fixed by the rank, kind and dtype of the implementation's array arguments, and recorded what each returned. Implementations whose recorded output digest is identical form a cluster; a name whose implementations fall into more than one cluster under the same bucket is split: the field means more than one computation by that name. Identical values on the shared input are agreement on those inputs, not equivalence, and no substitution claim is made. This is Syntology's own measurement; nothing on these pages is from the archive except paper titles, which are labelled. The per-paper sample record is on Code.

In numbers Syntology

296names with ≥5 papers
192of them split
2,630papers covered
2,199implementations compared
1,187distinct outputs
2026-09-22census date
b986f7e04d79battery sha

Census date and battery sha are read from the provenance sidecars of the 17 result files; the battery sha is the sha256 of the harness that generated the shared input; the run driver's sha256 is 5a452d0e7c0d. Union of 17 files, 9,976 lines, 9,916 distinct samples after de-duplication on sha (0 duplicate lines dropped), 3,320 names and 7,537 papers examined. Of the samples, 4,946 ran on the shared input and were compared; 2,689 did not run on it; 2,272 took no array argument, so no shared input existed for them and they ran only on their own fixture arguments; 9 ran but returned an output the harness could not digest. Each of the three is counted per name on its page and none is in the totals above; a further 60 rows are the harness's own torch computations under named conventions and are not implementations. A name is reported when the implementations that were compared come from at least 5 distinct papers.

Bucket key. A bucket is the positional (rank, kind, dtype) of each array argument; the argument name is not part of the key because the harness draws the shared array from (rank, kind) and casts it to the dtype, whatever the name. Two implementations in one bucket therefore saw bitwise-identical inputs; implementations in different buckets took different arguments and are never compared. 670 buckets across the names below.

What is not on these pages

name not held
A name with no page on Code is not in Syntology's harvested code at all, and has no census line.
held, never run on the shared input
5,910 names that appear in ≥5 papers' harvested code were not put through the census; a further 781 names were put through it and no implementation ran on the shared input.
ran, but only on its own fixture arguments — no shared input
2,272 samples took no array argument, so the harness replaced nothing: their recorded "shared" call is the fixture's own arguments (on 2,225 of them the recorded shared-output digest is the own-fixture digest). They are not compared, do not count toward any name's eligibility, and are not in the tables. 675 names have only such samples (or only undigested ones) and get no page; 133 names would reach 5 papers only by counting them and get no page either. 153 such samples belong to names that do have a page and are counted on it.
ran on the shared input, output not digested
9 samples returned an output the harness could not digest (non-numeric type: NoneType 2, Tensor 5, ndarray 2) and are not compared.
run, but fewer than 5 papers — too thin to report
1,568 names were compared from 1 to 4 papers and get no page.
class-bearing names
The census files hold 1,808 class-bearing samples (a class instantiated with seeded weights in evaluation mode, then called); 586 were compared and appear on 24 of the pages below, tagged per member. For a class, the recorded output depends on the seeded initialisation as well as the forward computation, so a class-bearing name that is split may differ in construction order rather than in what it computes. A class-bearing name that is not in the census files is not yet in the census.
withdrawn fingerprints
The graph export read at build time carries no withdrawal flag on any sample, so none could be excluded on that basis: 0 excluded. 9,916 of the 9,916 census samples were found in the export by sha; 0 were not.

Names with ≥5 papers Syntology

296 names, ordered by papers. Implementations and papers count only what was compared. Buckets are argument buckets (rank, kind, dtype); implementations are only compared within one. Distinct outputs counts clusters across all of a name's buckets. Not run is the number of this name's implementations the harness could not run on the shared input; own args only took no array argument and ran only on their own fixture arguments; not digested ran but returned an output that was not digested. None of the three is compared. 9 page addresses needed a numeric suffix to keep case-different names apart.

NamePapersImplementationsDistinct outputsBucketsSplitNot runOwn args onlyNot digested
exists 103 5 1 1 one output per bucket 0 10 0
rotate_half 96 24 4 2 split 0 0 0
normalize 82 70 51 11 split 9 4 0
gelu 74 43 6 1 split 0 1 0
softmax 63 53 16 8 split 1 1 0
drop_path 61 27 5 2 split 0 0 0
repeat_kv 60 15 2 1 split 0 0 0
sigmoid 56 36 7 3 split 0 5 0
trunc_normal_ 54 37 4 1 split 0 0 0
identity 39 11 3 2 split 0 0 0
swish 37 14 2 1 split 0 0 0
unpad_image 34 4 2 1 split 0 0 0
cosine_similarity 30 26 11 5 split 0 9 0
softmax_entropy 29 18 4 2 split 0 0 0
to_numpy 29 24 2 2 one output per bucket 0 1 0
timestep_embedding 27 22 6 2 split 1 0 0
norm 26 23 15 6 split 0 2 0
entropy 25 22 16 4 split 3 1 0
l2_norm 25 17 8 3 split 0 0 0
one_hot 25 18 10 6 split 4 6 0
normal_kl 24 14 2 1 split 0 0 0
rescale_noise_cfg 21 2 1 1 one output per bucket 0 0 0
to_var 21 12 1 1 one output per bucket 0 0 0
gumbel_softmax 20 19 12 2 split 0 0 0
l2norm 20 12 3 1 split 0 0 0
to_3d 20 3 1 1 one output per bucket 0 0 0
Swish 19 22 2 1 split 0 0 0
contrastive_loss 18 11 7 3 split 7 0 0
kl_divergence 18 18 15 7 split 2 0 0
mean_flat 18 9 4 3 split 0 0 0
square_distance 18 11 4 2 split 0 0 0
DropPath 17 17 8 3 split 1 0 0
get_1d_sincos_pos_embed_from_grid 17 8 2 2 one output per bucket 0 1 0
grad_reverse 17 12 1 1 one output per bucket 0 0 0
knn 17 12 6 4 split 2 0 0
reparameterize 17 12 5 4 split 0 0 0
window_partition 17 13 5 3 split 35 0 0
_no_grad_trunc_normal_ 16 16 1 1 one output per bucket 0 0 0
dice_loss 16 10 7 4 split 0 0 0
gumbel_softmax_sample 16 14 4 1 split 0 0 0
log 16 10 7 1 split 0 0 0
upsample 16 11 9 3 split 1 0 0
apply_rotary_pos_emb 15 14 8 7 split 2 0 0
f 15 17 17 7 split 4 2 0
get_timestep_embedding 15 11 5 2 split 0 0 0
sequence_mask 15 12 5 2 split 0 0 0
approx_standard_normal_cdf 14 4 1 1 one output per bucket 0 0 0
euclidean_dist 14 12 3 1 split 0 0 0
inverse_sigmoid 14 9 5 2 split 0 0 0
resize 14 10 5 2 split 0 0 0
to_np 14 8 2 2 one output per bucket 0 0 0
Identity 13 10 4 4 one output per bucket 0 0 0
_expand_mask 13 13 2 1 split 0 0 0
discount_cumsum 13 6 3 3 one output per bucket 0 0 0
expand_dims 13 6 2 2 one output per bucket 0 0 0
focal_loss 13 6 4 3 split 5 0 0
l2_normalize 13 15 5 3 split 0 0 0
pairwise_distances 13 14 7 2 split 0 0 0
preprocess 13 11 10 5 split 4 3 0
transpose 13 6 3 2 split 0 0 0
Attention 12 13 10 4 split 35 0 0
GEGLU 12 12 1 1 one output per bucket 1 0 0
Weighted_GAP 12 3 1 1 one output per bucket 0 0 0
add_gumbel_noise 12 7 2 1 split 0 0 0
extract 12 9 4 3 split 5 1 0
log_sum_exp 12 10 5 3 split 1 0 0
logsumexp 12 8 4 2 split 0 0 0
modulate 12 3 1 1 one output per bucket 9 0 0
mse_loss 12 8 6 4 split 1 0 0
compute_entropy_loss 11 5 3 2 split 0 0 0
compute_loss 11 11 9 7 split 8 6 0
denormalize 11 9 8 4 split 3 0 0
kl_loss 11 8 5 2 split 2 0 0
masked_mean 11 8 5 2 split 4 0 0
moving_average 11 9 6 4 split 0 0 0
nonlinearity 11 4 1 1 one output per bucket 0 0 0
psnr 11 9 6 4 split 1 0 0
quantize 11 8 6 3 split 1 0 0
relu 11 8 4 2 split 0 0 0
shift_tokens_right 11 9 3 1 split 0 0 0
sinkhorn 11 11 11 2 split 9 0 0
Entropy 10 7 1 1 one output per bucket 0 0 0
attention 10 11 7 5 split 8 0 0
discretized_gaussian_log_likelihood 10 6 2 1 split 0 0 0
get_mask 10 9 9 7 split 3 8 0
lp_loss 10 6 1 1 one output per bucket 0 0 0
mask_logits 10 7 4 3 split 0 0 0
masked_softmax 10 10 10 6 split 3 0 0
reshape_for_broadcast 10 6 1 1 one output per bucket 5 0 0
top_k_logits 10 6 4 1 split 0 0 0
voc_ap 10 5 2 1 split 0 0 0
Flatten 9 9 2 2 one output per bucket 0 0 0
PatchEmbed 9 9 6 1 split 15 0 0
PositionalEncoding 9 13 9 5 split 15 2 0
TimestepEmbedder 9 9 5 2 split 0 0 0
add_noise 9 9 8 3 split 0 0 0
do_nothing 9 6 1 1 one output per bucket 0 0 0
gaussian 9 8 8 4 split 0 3 0
gaussian_kernel 9 9 9 6 split 0 2 0
gram_matrix 9 7 4 1 split 0 0 0
loss_fn 9 8 6 3 split 5 0 0
np2th 9 2 1 1 one output per bucket 0 0 0
project 9 8 7 3 split 2 0 0
rand_brightness 9 7 5 2 split 0 0 0
rand_saturation 9 6 3 1 split 0 0 0
round_pass 9 3 2 2 one output per bucket 0 0 0
sample 9 8 7 5 split 2 3 0
sigmoid_focal_loss 9 3 2 2 one output per bucket 0 0 0
top_filtering 9 5 1 1 one output per bucket 0 0 0
top_k 9 7 5 1 split 0 0 0
Conv 8 8 8 2 split 0 0 0
ConvBlock 8 8 6 2 split 4 0 0
apply_rope 8 3 2 2 one output per bucket 1 0 0
asymmetric_l2_loss 8 4 2 1 split 0 0 0
clamp 8 7 6 4 split 1 3 0
clipped_zoom 8 4 3 2 split 0 0 0
compute_baseline_loss 8 2 2 1 split 0 0 0
cross_entropy 8 6 5 2 split 9 1 0
dct 8 6 4 1 split 0 0 0
distance 8 8 6 3 split 0 5 0
get_num_transfer_tokens 8 5 3 2 split 0 0 0
grad_scale 8 3 2 2 one output per bucket 0 0 0
isnan 8 3 2 2 one output per bucket 0 0 0
mish 8 5 1 1 one output per bucket 0 0 0
nanstd 8 3 2 2 one output per bucket 0 0 0
patchify 8 6 6 3 split 1 0 0
phi 8 8 8 5 split 1 2 0
reparametrize 8 6 1 1 one output per bucket 1 0 0
rotate_every_two 8 5 2 2 one output per bucket 0 0 0
sigmoid_ce_loss 8 4 3 2 split 1 0 0
smooth 8 6 5 3 split 1 0 0
soft_cross_entropy 8 6 3 2 split 1 0 0
to_cuda 8 8 2 2 one output per bucket 0 0 0
to_tensor 8 8 3 3 one output per bucket 0 4 0
top_k_top_p_filtering 8 8 4 2 split 1 0 0
Conv2d 7 7 6 1 split 0 0 0
DoubleConv 7 8 6 1 split 0 0 0
MultiHeadAttention 7 9 9 3 split 10 0 0
accuracy 7 8 7 6 split 30 6 0
adaptive_instance_normalization 7 5 2 1 split 0 0 0
channel_shuffle 7 3 2 1 split 4 0 0
concat_all_gather 7 7 2 1 split 0 0 0
cos_similarity 7 5 5 3 split 0 1 0
cuda 7 3 1 1 one output per bucket 0 0 0
d_logistic_loss 7 2 1 1 one output per bucket 0 0 0
distance_wb 7 5 3 2 split 0 0 0
drop_connect 7 9 4 2 split 0 0 0
ema 7 4 2 2 one output per bucket 0 0 0
flatten 7 4 4 4 one output per bucket 0 7 0
gelu_new 7 3 1 1 one output per bucket 0 0 0
get_angles 7 3 3 3 one output per bucket 0 0 0
get_entropy 7 7 7 2 split 0 2 0
get_pad_mask 7 4 2 1 split 0 0 0
huber_loss 7 6 5 5 one output per bucket 0 0 0
index_to_mask 7 3 2 1 split 0 0 0
iou 7 5 5 5 one output per bucket 0 5 0
l1_loss 7 3 3 3 one output per bucket 1 1 0
l1norm 7 7 2 1 split 0 0 0
l2 7 5 4 3 split 1 2 0
logistic 7 7 6 4 split 0 1 0
loss 7 8 7 6 split 5 1 0
normalize_data 7 7 7 3 split 0 0 0
normalize_vector 7 6 3 1 split 0 0 0
pairwise_distance 7 6 5 3 split 0 1 0
reduce_mean 7 3 3 2 split 0 0 0
repackage_hidden 7 5 1 1 one output per bucket 0 0 0
rgb2gray 7 6 5 3 split 0 0 0
silu 7 5 1 1 one output per bucket 0 0 0
stable_cumsum 7 4 3 3 one output per bucket 0 0 0
symlog 7 5 3 2 split 0 0 0
tanh 7 6 2 2 one output per bucket 0 0 0
tile 7 5 4 3 split 0 0 0
transform 7 6 6 5 split 2 1 0
upfirdn2d_native 7 5 1 1 one output per bucket 0 0 0
BasicBlock 6 6 5 1 split 4 0 0
PositionEmbeddingSine 6 6 3 3 one output per bucket 1 0 0
PositionalEmbedding 6 6 4 3 split 2 2 0
SinusoidalPosEmb 6 6 3 1 split 1 0 0
_normalize 6 6 3 1 split 1 0 0
append_dims 6 3 1 1 one output per bucket 0 0 0
batchify 6 6 3 3 one output per bucket 0 0 0
check 6 5 4 4 one output per bucket 0 2 0
cosine_distance 6 5 5 2 split 0 0 0
create_position_ids_from_input_ids 6 5 1 1 one output per bucket 0 0 0
dist 6 6 5 2 split 0 1 0
distmat 6 4 2 2 one output per bucket 0 0 0
elu_p1 6 3 1 1 one output per bucket 0 0 0
expectile_loss 6 5 4 1 split 0 0 0
fast_hist 6 2 1 1 one output per bucket 0 0 0
g 6 6 6 3 split 0 1 0
generate 6 5 5 4 split 3 1 0
get_accuracy 6 4 4 4 one output per bucket 4 3 0
get_one_hot 6 6 3 2 split 1 1 0
get_rel_pos 6 3 3 1 split 0 0 0
im2tensor 6 3 3 1 split 0 1 0
kl_div 6 6 5 4 split 0 0 0
kronecker_product 6 2 1 1 one output per bucket 0 0 0
laplace_smoothing 6 3 2 2 one output per bucket 0 0 0
lerp 6 4 1 1 one output per bucket 0 0 0
loss_function 6 7 7 2 split 14 0 0
mae 6 4 3 3 one output per bucket 0 0 0
max_neg_value 6 2 1 1 one output per bucket 0 0 0
min_max_norm 6 3 3 2 split 0 0 0
mse 6 5 4 3 split 1 0 0
normalization 6 4 4 3 split 0 0 0
pc_normalize 6 2 1 1 one output per bucket 0 0 0
positional_encoding 6 5 4 1 split 0 5 0
preprocess_image 6 4 2 1 split 0 2 0
rand_contrast 6 6 3 2 split 0 0 0
rand_cutout 6 6 4 1 split 0 0 0
rbf 6 4 3 3 one output per bucket 0 0 0
reduce_tensor 6 5 3 1 split 0 0 0
round_ste 6 3 1 1 one output per bucket 0 0 0
sample_model 6 1 1 1 one output per bucket 0 1 0
sigma_estimation 6 4 1 1 one output per bucket 0 0 0
slerp 6 6 6 2 split 0 0 0
softplus 6 5 4 3 split 0 0 0
softplus_inverse 6 3 2 2 one output per bucket 0 0 0
sum_norm 6 3 2 1 split 0 0 0
td_target 6 2 2 2 one output per bucket 0 0 0
to_one_hot 6 5 4 2 split 2 1 0
to_torch 6 5 2 2 one output per bucket 0 1 0
unnormalize_to_zero_to_one 6 4 1 1 one output per bucket 0 0 0
whiten 6 5 3 3 one output per bucket 0 0 0
Block 5 5 3 2 split 11 0 0
D 5 4 2 1 split 0 0 0
DiffAugment 5 7 5 2 split 0 0 0
Down 5 5 5 2 split 1 0 0
LayerNorm 5 5 5 3 split 17 0 0
PSNR 5 4 3 2 split 0 0 0
ResBlock 5 6 6 2 split 18 0 0
SiLU 5 5 1 1 one output per bucket 0 0 0
SinusoidalPositionEmbeddings 5 5 3 1 split 0 0 0
acc 5 5 2 2 one output per bucket 3 1 0
adain 5 5 2 1 split 0 0 0
adapt_input_conv 5 2 1 1 one output per bucket 0 0 0
atanh 5 3 2 1 split 0 0 0
compress 5 1 1 1 one output per bucket 0 0 0
compute_acc 5 3 3 3 one output per bucket 5 0 0
compute_entropy 5 5 5 4 split 2 0 0
compute_weights 5 5 5 4 split 0 0 0
continuous_gaussian_log_likelihood 5 2 1 1 one output per bucket 0 0 0
cos_sim 5 5 4 3 split 0 0 0
cosine 5 2 1 1 one output per bucket 0 0 0
crop 5 5 4 4 one output per bucket 1 0 0
dot_product_scores 5 2 1 1 one output per bucket 0 0 0
encode_onehot 5 3 2 2 one output per bucket 0 0 0
entropy_loss 5 5 2 2 one output per bucket 0 1 0
expand_dim 5 3 1 1 one output per bucket 0 0 0
extract_into_tensor 5 3 1 1 one output per bucket 0 0 0
flip 5 3 2 1 split 1 0 0
func 5 5 5 4 split 2 2 0
geglu 5 3 1 1 one output per bucket 0 0 0
get_gram_matrix 5 1 1 1 one output per bucket 0 0 0
get_graph_feature 5 6 4 2 split 2 0 0
get_loss 5 5 5 4 split 2 2 0
get_similarity 5 3 3 2 split 0 0 0
gumbel_noise 5 6 2 1 split 0 0 0
gumbel_sample 5 6 2 1 split 0 0 0
gumbel_sigmoid 5 4 4 2 split 0 0 0
idct 5 5 4 2 split 0 0 0
info_nce 5 6 3 2 split 0 0 0
kernel_HSIC 5 3 3 2 split 0 0 0
knn_point 5 4 2 1 split 0 0 0
loss_func 5 5 4 3 split 1 1 0
mu 5 4 4 3 split 0 0 0
new_gelu 5 3 1 1 one output per bucket 0 0 0
normalize_tensor 5 3 2 2 one output per bucket 0 0 0
normalize_to_neg_one_to_one 5 3 2 2 one output per bucket 0 0 0
onehot 5 5 3 2 split 0 4 0
pad_t_like_x 5 2 1 1 one output per bucket 0 0 0
pdist 5 5 5 3 split 0 0 0
perturb 5 4 4 2 split 0 1 0
pixel_unshuffle 5 4 3 2 split 0 0 0
postprocess 5 5 5 2 split 1 1 0
quat2mat 5 5 3 2 split 0 0 0
query_ball_point 5 5 1 1 one output per bucket 0 0 0
rank 5 3 3 2 split 0 1 0
reduce_sum 5 4 4 4 one output per bucket 0 1 0
reglu 5 3 1 1 one output per bucket 0 0 0
rope 5 4 1 1 one output per bucket 0 0 0
safe_divide 5 3 2 1 split 0 0 0
safe_log 5 5 3 1 split 0 0 0
sample_mask 5 4 4 1 split 0 1 0
sample_vectors 5 3 1 1 one output per bucket 0 0 0
shift 5 5 5 4 split 0 0 0
soft_threshold 5 4 3 2 split 0 0 0
squash 5 8 4 2 split 0 0 0
sum_except_batch 5 3 3 3 one output per bucket 0 0 0
target_distribution 5 3 1 1 one output per bucket 0 0 0
to_categorical 5 3 1 1 one output per bucket 0 1 0
torch_pad_nan 5 3 1 1 one output per bucket 0 0 0
trans_to_cpu 5 2 1 1 one output per bucket 0 0 0
trans_to_cuda 5 2 1 1 one output per bucket 0 0 0
update_model_probs 5 4 3 3 one output per bucket 0 0 0
weighted_mean 5 5 4 3 split 2 0 0

Read from groundwork/55_differential_census/census/v2_2026-09-22 at build time. Each name has a JSON twin at /census/<name>.json.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections