From cb19aa039de43fc94076aff466a963aa559f23b1 Mon Sep 17 00:00:00 2001
From: YuxuanFan <2961852394@qq.com>
Date: Sun, 26 Apr 2026 01:27:13 -0700
Subject: [PATCH 1/2] Add auto-updated operator checklist
---
README.md | 599 ++++++++++++++++++++++++++-
scripts/operator_targets.txt | 581 ++++++++++++++++++++++++++
scripts/update_operator_checklist.py | 293 +++++++++++++
3 files changed, 1472 insertions(+), 1 deletion(-)
create mode 100644 scripts/operator_targets.txt
create mode 100644 scripts/update_operator_checklist.py
diff --git a/README.md b/README.md
index 0814a6d..4785a3b 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,603 @@
[赛题入门](https://gitlink.org.cn/ccf-ai-infra/GPUCodeForces/tree/main/GPUCodeForces%E8%B5%9B%E9%A2%98%E5%85%A5%E9%97%A8.md)、[代码解读](https://gitlink.org.cn/ccf-ai-infra/GPUCodeForces/tree/main/GPUCodeForces%E4%BB%A3%E7%A0%81%E8%A7%A3%E8%AF%BB.md)。
+---
+
+
+## ✅ 算子实现状态
+
+该清单由 `scripts/update_operator_checklist.py` 根据 `scripts/operator_targets.txt` 和 `S1 codes/` 自动生成;新增待实现算子请写入目标清单,新增实现目录后运行 `python scripts/update_operator_checklist.py --sync-targets` 即可自动勾选。
+
+- 已实现:577
+- 未实现:0
+- 跟踪总数:577
+
+
+展开查看算子实现状态
+
+| 状态 | 算子 | 实现目录 |
+| --- | --- | --- |
+| [x] | aconc | [hli28146_#25](S1%20codes/hli28146_%2325) |
+| [x] | ActorCriticLoss | [uucoco_#74](S1%20codes/uucoco_%2374) |
+| [x] | adaptive_maxpool1d | [ZZZJ_#83](S1%20codes/ZZZJ_%2383) |
+| [x] | adaptive_maxpool3d | [ZZZJ_#85](S1%20codes/ZZZJ_%2385) |
+| [x] | Adaptivepiecewiselinear | [gsd123_#32](S1%20codes/gsd123_%2332) |
+| [x] | AdvantageLoss | [uucoco_#75](S1%20codes/uucoco_%2375) |
+| [x] | AdversarialLoss | [uucoco_#76](S1%20codes/uucoco_%2376) |
+| [x] | Affine+ReLU6 融合 | [Ljy123_#13](S1%20codes/Ljy123_%2313) |
+| [x] | affine_grid3d | [ZZZJ_#173](S1%20codes/ZZZJ_%23173) |
+| [x] | affineleakyreluclamp | [uucoco_#77](S1%20codes/uucoco_%2377) |
+| [x] | AHAF | [gsd123_#33](S1%20codes/gsd123_%2333) |
+| [x] | AHerfReLU | [hli28146_#86](S1%20codes/hli28146_%2386) |
+| [x] | alpha_iou | [ZZZJ_#16](S1%20codes/ZZZJ_%2316) |
+| [x] | alphablend | [ZZZJ_#174](S1%20codes/ZZZJ_%23174) |
+| [x] | angle | [hli28146_#35](S1%20codes/hli28146_%2335) |
+| [x] | AngularDistance | [gsd123_#62](S1%20codes/gsd123_%2362) |
+| [x] | AngularLoss | [uucoco_#57](S1%20codes/uucoco_%2357) |
+| [x] | AOAF | [hli28146_#102](S1%20codes/hli28146_%23102) |
+| [x] | APALU | [hli28146_#112](S1%20codes/hli28146_%23112) |
+| [x] | AQuLU | [hli28146_#105](S1%20codes/hli28146_%23105) |
+| [x] | arcfaceloss | [hli28146_#22](S1%20codes/hli28146_%2322) |
+| [x] | ArcSinh-Affine-Gate | [Ljy123_#116](S1%20codes/Ljy123_%23116) |
+| [x] | ArcSinTanh-Affine-Gate | [Ljy123_#109](S1%20codes/Ljy123_%23109) |
+| [x] | Arctan-Affine-Gate | [Ljy123_#97](S1%20codes/Ljy123_%2397) |
+| [x] | ARiA2 | [hli28146_#66](S1%20codes/hli28146_%2366) |
+| [x] | Atan-Sigmoid-Mix-Gate | [LJy123_#50](S1%20codes/LJy123_%2350) |
+| [x] | balanced_softmax_loss | [hli28146_#46](S1%20codes/hli28146_%2346) |
+| [x] | ball_query | [ZZZJ_#175](S1%20codes/ZZZJ_%23175) |
+| [x] | batchnorm1d | [Icy_Cola10](S1%20codes/Icy_Cola10) |
+| [x] | bce | [wut0n_#8](S1%20codes/wut0n_%238) |
+| [x] | bcewithlogitsloss | [ZZZJ 14](S1%20codes/ZZZJ%2014) |
+| [x] | BehaviorCloningLoss | [uucoco_#79](S1%20codes/uucoco_%2379) |
+| [x] | BellmanLoss | [uucoco_#80](S1%20codes/uucoco_%2380) |
+| [x] | BetaDivergenceLoss | [uucoco_#81](S1%20codes/uucoco_%2381) |
+| [x] | BhattacharyyaDistance | [uucoco_#5](S1%20codes/uucoco_%235) |
+| [x] | Bias+GELU(tanh 近似) | [Ljy123_#10](S1%20codes/Ljy123_%2310) |
+| [x] | Bias+SiLU(Swish)融合 | [Ljy123_#11](S1%20codes/Ljy123_%2311) |
+| [x] | bilinear | [zizi05_#6](S1%20codes/zizi05_%236) |
+| [x] | BilinearGLU | [uucoco_#34](S1%20codes/uucoco_%2334) |
+| [x] | Bipolar | [uucoco_#31](S1%20codes/uucoco_%2331) |
+| [x] | BipolarSigmoid | [uucoco_#32](S1%20codes/uucoco_%2332) |
+| [x] | black_scholes | [ZZZJ_#135](S1%20codes/ZZZJ_%23135) |
+| [x] | blurpool | [ZZZJ_#134](S1%20codes/ZZZJ_%23134) |
+| [x] | box_area | [ZZZJ_#18](S1%20codes/ZZZJ_%2318) |
+| [x] | box_corner_to_center | [ZZZJ_#19](S1%20codes/ZZZJ_%2319) |
+| [x] | box_iou | [ZZZJ_#17](S1%20codes/ZZZJ_%2317) |
+| [x] | boxfilter | [ZZZJ_#21](S1%20codes/ZZZJ_%2321) |
+| [x] | braycurtis | [wut0n_#22](S1%20codes/wut0n_%2322) |
+| [x] | braycurtis_adaptive_triplet | [wut0n_#104](S1%20codes/wut0n_%23104) |
+| [x] | bregman_divergence_gelu | [uucoco_#117](S1%20codes/uucoco_%23117) |
+| [x] | BregmanDivergenceLoss | [uucoco_#82](S1%20codes/uucoco_%2382) |
+| [x] | BReLU | [uucoco_#33](S1%20codes/uucoco_%2333) |
+| [x] | broadcast_tensors | [ZZZJ_#180](S1%20codes/ZZZJ_%23180) |
+| [x] | bucketize | [ZZZJ_#181](S1%20codes/ZZZJ_%23181) |
+| [x] | BYOLLoss | [gsd123_#105](S1%20codes/gsd123_%23105) |
+| [x] | canberra | [wut0n_#21](S1%20codes/wut0n_%2321) |
+| [x] | canberra_focalloss | [wut0n_#88](S1%20codes/wut0n_%2388) |
+| [x] | CanberraDistance | [gsd123_#26](S1%20codes/gsd123_%2326) |
+| [x] | cartesian_prod | [ZZZJ_#182](S1%20codes/ZZZJ_%23182) |
+| [x] | causal_mask | [ZZZJ_#183](S1%20codes/ZZZJ_%23183) |
+| [x] | CELU-Affine-Gate | [Ljy123_#101](S1%20codes/Ljy123_%23101) |
+| [x] | CenterNetLoss | [uucoco_#118](S1%20codes/uucoco_%23118) |
+| [x] | Channel RMS Gate | [Ljy123_#35](S1%20codes/Ljy123_%2335) |
+| [x] | Channel-Softmax-Affine gating | [Ljy123_#33](S1%20codes/Ljy123_%2333) |
+| [x] | channel_permute | [ZZZJ_#130](S1%20codes/ZZZJ_%23130) |
+| [x] | channelmeangate | [gsd123_#84](S1%20codes/gsd123_%2384) |
+| [x] | ChannelShuffle | [uucoco_#8](S1%20codes/uucoco_%238) |
+| [x] | CharbonnierLoss | [uucoco_#10](S1%20codes/uucoco_%2310) |
+| [x] | chebyshev | [wut0n_#16](S1%20codes/wut0n_%2316) |
+| [x] | chebyshev_abs_square | [uucoco_#119](S1%20codes/uucoco_%23119) |
+| [x] | chebyshev_hardswish | [wut0n_#105](S1%20codes/wut0n_%23105) |
+| [x] | chebyshev_leakyrelu | [wut0n_#59](S1%20codes/wut0n_%2359) |
+| [x] | chebyshev_sigmoid | [wut0n_#42](S1%20codes/wut0n_%2342) |
+| [x] | chebyshevaffine | [gsd123_#87](S1%20codes/gsd123_%2387) |
+| [x] | ChebyshevDistance | [gsd123_#29](S1%20codes/gsd123_%2329) |
+| [x] | cholesky | [hli28146_#7](S1%20codes/hli28146_%237) |
+| [x] | circleloss | [gsd123 18](S1%20codes/gsd123%2018)
[gsd123_#9](S1%20codes/gsd123_%239) |
+| [x] | circularpad1d | [ZZZJ_#184](S1%20codes/ZZZJ_%23184) |
+| [x] | circularpad2d | [ZZZJ_#185](S1%20codes/ZZZJ_%23185) |
+| [x] | circularpad3d | [ZZZJ_#186](S1%20codes/ZZZJ_%23186) |
+| [x] | clarksDistance | [gsd123_#28](S1%20codes/gsd123_%2328) |
+| [x] | cmyk_to_rgb | [ZZZJ_#50](S1%20codes/ZZZJ_%2350) |
+| [x] | Colu | [gsd123_#34](S1%20codes/gsd123_%2334) |
+| [x] | column_stack | [ZZZJ_#65](S1%20codes/ZZZJ_%2365) |
+| [x] | ComboLoss | [uucoco_#58](S1%20codes/uucoco_%2358) |
+| [x] | complex_abs_angle_polar | [uucoco_#83](S1%20codes/uucoco_%2383) |
+| [x] | complex_conj_mul_div | [uucoco_#84](S1%20codes/uucoco_%2384) |
+| [x] | complex_exp_log_power | [uucoco_#85](S1%20codes/uucoco_%2385) |
+| [x] | complex_mul | [ZZZJ_#66](S1%20codes/ZZZJ_%2366) |
+| [x] | constantpad3d | [ZZZJ_#189](S1%20codes/ZZZJ_%23189) |
+| [x] | contrastiveloss | [gsd123_#22](S1%20codes/gsd123_%2322)
[wut0n_#11](S1%20codes/wut0n_%2311) |
+| [x] | conv2d | [Icy_cola 11](S1%20codes/Icy_cola%2011) |
+| [x] | Cos-Affine-Gate | [Ljy123_#43](S1%20codes/Ljy123_%2343)
[Ljy123_#82](S1%20codes/Ljy123_%2382) |
+| [x] | cosfaceloss | [hli28146_#21](S1%20codes/hli28146_%2321) |
+| [x] | cosine | [wut0n_#19](S1%20codes/wut0n_%2319) |
+| [x] | Cosine-Affine-Gate | [Ljy123_#113](S1%20codes/Ljy123_%23113) |
+| [x] | Cosine-Square-Affine-Gate | [Ljy123_#49](S1%20codes/Ljy123_%2349) |
+| [x] | cosine_swish_gelu | [uucoco_#120](S1%20codes/uucoco_%23120) |
+| [x] | cosinedistance | [wut0n_#15](S1%20codes/wut0n_%2315) |
+| [x] | cosinedistance_softmax | [wut0n_#58](S1%20codes/wut0n_%2358) |
+| [x] | CosineEmbeddingLoss | [gsd123 37](S1%20codes/gsd123%2037)
[gsd123_#15](S1%20codes/gsd123_%2315) |
+| [x] | cosineloss | [ZZZJ_#1](S1%20codes/ZZZJ_%231) |
+| [x] | cosinesimilarity | [wwmm_#2](S1%20codes/wwmm_%232) |
+| [x] | CoVariance | [uucoco_#12](S1%20codes/uucoco_%2312) |
+| [x] | crop_resize | [ZZZJ_#190](S1%20codes/ZZZJ_%23190) |
+| [x] | cross | [ZZZJ_#164](S1%20codes/ZZZJ_%23164) |
+| [x] | cross_layer_norm | [ZZZJ_#136](S1%20codes/ZZZJ_%23136) |
+| [x] | CrossEntropyDiceLoss | [uucoco_#59](S1%20codes/uucoco_%2359) |
+| [x] | CrossEntropyLoss | [gsd123_#6](S1%20codes/gsd123_%236) |
+| [x] | CRReLU | [hli28146_#115](S1%20codes/hli28146_%23115) |
+| [x] | cumsum | [hli28146_#11](S1%20codes/hli28146_%2311) |
+| [x] | DecayingSineUnit | [uucoco_#29](S1%20codes/uucoco_%2329) |
+| [x] | deepnorm | [hli28146_#32](S1%20codes/hli28146_%2332) |
+| [x] | depthwise_conv1d | [ZZZJ_#74](S1%20codes/ZZZJ_%2374) |
+| [x] | dequantize_fp4 | [ZZZJ_#86](S1%20codes/ZZZJ_%2386) |
+| [x] | dequantize_int8 | [ZZZJ_#87](S1%20codes/ZZZJ_%2387) |
+| [x] | dequantize_linear | [ZZZJ_#88](S1%20codes/ZZZJ_%2388) |
+| [x] | dice | [wut0n_#6](S1%20codes/wut0n_%236) |
+| [x] | dice_bce | [wut0n_#110](S1%20codes/wut0n_%23110) |
+| [x] | dice_from_2d | [wut0n_#108](S1%20codes/wut0n_%23108) |
+| [x] | DiceLoss | [gsd123_#17](S1%20codes/gsd123_%2317) |
+| [x] | DiceSimilarity | [gsd123_#66](S1%20codes/gsd123_%2366) |
+| [x] | digitization | [ZZZJ_#191](S1%20codes/ZZZJ_%23191) |
+| [x] | Dilation1d | [ZZZJ_#107](S1%20codes/ZZZJ_%23107) |
+| [x] | Dilation2d | [ZZZJ_#108](S1%20codes/ZZZJ_%23108) |
+| [x] | DistillationLoss | [gsd123_#108](S1%20codes/gsd123_%23108) |
+| [x] | dot_mse_tanh | [uucoco_#121](S1%20codes/uucoco_%23121) |
+| [x] | DoubleGLU | [uucoco_#44](S1%20codes/uucoco_%2344) |
+| [x] | dropblock1d | [ZZZJ_#192](S1%20codes/ZZZJ_%23192) |
+| [x] | DSiLU | [hli28146_#107](S1%20codes/hli28146_%23107) |
+| [x] | DSReLU | [hli28146_#131](S1%20codes/hli28146_%23131) |
+| [x] | Dual-Input Contrastive Gate | [Ljy123_#34](S1%20codes/Ljy123_%2334) |
+| [x] | dw_transpose | [ZZZJ_#54](S1%20codes/ZZZJ_%2354) |
+| [x] | dw_transpose2d | [ZZZJ_#55](S1%20codes/ZZZJ_%2355) |
+| [x] | dw_transpose3d | [ZZZJ_#56](S1%20codes/ZZZJ_%2356) |
+| [x] | EIS1 | [hli28146_#128](S1%20codes/hli28146_%23128) |
+| [x] | EIS2 | [hli28146_#129](S1%20codes/hli28146_%23129) |
+| [x] | EIS3 | [hli28146_#130](S1%20codes/hli28146_%23130) |
+| [x] | ELU-Affine-Gate | [Ljy123_#89](S1%20codes/Ljy123_%2389) |
+| [x] | ELUGLU | [uucoco_#46](S1%20codes/uucoco_%2346) |
+| [x] | embeddingbag | [wwmm_#3](S1%20codes/wwmm_%233) |
+| [x] | EMDLoss | [gsd123_#109](S1%20codes/gsd123_%23109) |
+| [x] | Erf-Affine-Gate | [Ljy123_#98](S1%20codes/Ljy123_%2398) |
+| [x] | ErfAct | [hli28146_#91](S1%20codes/hli28146_%2391) |
+| [x] | ErfReLU | [hli28146_#87](S1%20codes/hli28146_%2387) |
+| [x] | Erosion1d | [ZZZJ_#110](S1%20codes/ZZZJ_%23110) |
+| [x] | Erosion2d | [ZZZJ_#111](S1%20codes/ZZZJ_%23111) |
+| [x] | Esh | [hli28146_#84](S1%20codes/hli28146_%2384) |
+| [x] | euclidean | [wut0n_#14](S1%20codes/wut0n_%2314) |
+| [x] | euclidean_erfc | [uucoco_#122](S1%20codes/uucoco_%23122) |
+| [x] | evonorm | [gsd123 13](S1%20codes/gsd123%2013)
[gsd123_#5](S1%20codes/gsd123_%235) |
+| [x] | Exp-Square Affine Gate | [Ljy123_#42](S1%20codes/Ljy123_%2342) |
+| [x] | Expm1+Affine | [Ljy123_#29](S1%20codes/Ljy123_%2329) |
+| [x] | Expm1-Sigmoid-Affine-Gate | [Ljy123_#51](S1%20codes/Ljy123_%2351) |
+| [x] | expnormalizelog | [uucoco_#86](S1%20codes/uucoco_%2386) |
+| [x] | ExponentialLinear-Affine-Gate | [Ljy123_#120](S1%20codes/Ljy123_%23120) |
+| [x] | fake_quantize_per_channel_affine | [hli28146_#37](S1%20codes/hli28146_%2337) |
+| [x] | fake_quantize_per_tensor_affine | [hli28146_#38](S1%20codes/hli28146_%2338) |
+| [x] | farthest_point_sampling | [ZZZJ_#116](S1%20codes/ZZZJ_%23116) |
+| [x] | FastAPLoss | [uucoco_#123](S1%20codes/uucoco_%23123) |
+| [x] | FDivergenceLoss | [uucoco_#87](S1%20codes/uucoco_%2387) |
+| [x] | finite_difference | [ZZZJ_#195](S1%20codes/ZZZJ_%23195) |
+| [x] | fisherrao_rmsnorm | [uucoco_#124](S1%20codes/uucoco_%23124) |
+| [x] | FlattenT | [gsd123_#53](S1%20codes/gsd123_%2353) |
+| [x] | flip_horizontal | [ZZZJ_#146](S1%20codes/ZZZJ_%23146) |
+| [x] | fma_activation | [wut0n_#36](S1%20codes/wut0n_%2336) |
+| [x] | focal_eiou | [ZZZJ_#15](S1%20codes/ZZZJ_%2315) |
+| [x] | FocalLoss | [gsd123_#18](S1%20codes/gsd123_%2318)
[wut0n_#2](S1%20codes/wut0n_%232) |
+| [x] | focalloss_fused | [wut0n_#31](S1%20codes/wut0n_%2331) |
+| [x] | focalloss_labelsmoothing | [wut0n_#109](S1%20codes/wut0n_%23109) |
+| [x] | focalloss_reduction | [wut0n_#40](S1%20codes/wut0n_%2340) |
+| [x] | focalloss_sigmoid | [wut0n_#107](S1%20codes/wut0n_%23107) |
+| [x] | focaltverskyloss | [hli28146_#58](S1%20codes/hli28146_%2358)
[uucoco_#61](S1%20codes/uucoco_%2361) |
+| [x] | fold | [ZZZJ_#196](S1%20codes/ZZZJ_%23196) |
+| [x] | fourieraffine | [gsd123_#88](S1%20codes/gsd123_%2388) |
+| [x] | FPFLU | [hli28146_#127](S1%20codes/hli28146_%23127) |
+| [x] | FReLU | [gsd123_#45](S1%20codes/gsd123_%2345) |
+| [x] | fresnel_schlick | [ZZZJ_#144](S1%20codes/ZZZJ_%23144) |
+| [x] | FTS | [gsd123_#55](S1%20codes/gsd123_%2355)
[hli28146_#24](S1%20codes/hli28146_%2324) |
+| [x] | FunnelActivationforVisualRecognition | [gsd123_#46](S1%20codes/gsd123_%2346) |
+| [x] | fused_adam_step | [ZZZJ_#121](S1%20codes/ZZZJ_%23121) |
+| [x] | fused_rmsprop_step | [ZZZJ_#145](S1%20codes/ZZZJ_%23145) |
+| [x] | gamma_correction | [ZZZJ_#197](S1%20codes/ZZZJ_%23197) |
+| [x] | GammaDivergenceLoss | [uucoco_#88](S1%20codes/uucoco_%2388) |
+| [x] | gateblendnormalize | [uucoco_#89](S1%20codes/uucoco_%2389) |
+| [x] | gather_elements | [ZZZJ_#198](S1%20codes/ZZZJ_%23198) |
+| [x] | Gaussian+Bias | [Ljy123_#22](S1%20codes/Ljy123_%2322) |
+| [x] | Gaussian-Affine-Gate | [Ljy123_#100](S1%20codes/Ljy123_%23100) |
+| [x] | gaussian_blur | [ZZZJ_#113](S1%20codes/ZZZJ_%23113) |
+| [x] | gaussian_filter_2d | [ZZZJ_#114](S1%20codes/ZZZJ_%23114) |
+| [x] | gaussian_pdf | [ZZZJ_#120](S1%20codes/ZZZJ_%23120) |
+| [x] | GaussianNLLLoss | [hli28146_#113](S1%20codes/hli28146_%23113)
[uucoco 31](S1%20codes/uucoco%2031)
[uucoco_#1](S1%20codes/uucoco_%231) |
+| [x] | GDL | [hli28146_#55](S1%20codes/hli28146_%2355) |
+| [x] | GELU-Affine-Gate | [Ljy123_#94](S1%20codes/Ljy123_%2394) |
+| [x] | gelu_dropout | [Ljy123_#3](S1%20codes/Ljy123_%233) |
+| [x] | gempool | [hli28146_#12](S1%20codes/hli28146_%2312) |
+| [x] | GeneratorLoss | [gsd123_#19](S1%20codes/gsd123_%2319) |
+| [x] | giouloss | [hli28146_#13](S1%20codes/hli28146_%2313) |
+| [x] | global_average_pooling | [ZZZJ_#118](S1%20codes/ZZZJ_%23118) |
+| [x] | global_response_normalization | [ZZZJ_#119](S1%20codes/ZZZJ_%23119) |
+| [x] | GLU(Gated Linear Unit)融合 | [Ljy123_#12](S1%20codes/Ljy123_%2312) |
+| [x] | Gompertz-Affine-Gate | [Ljy123_#123](S1%20codes/Ljy123_%23123) |
+| [x] | gowerdistance | [uucoco_#50](S1%20codes/uucoco_%2350) |
+| [x] | GradientClip | [gsd123_#67](S1%20codes/gsd123_%2367) |
+| [x] | gridsample1d | [ZZZJ_#200](S1%20codes/ZZZJ_%23200) |
+| [x] | Group-Softmax-Affine gating | [Ljy123_#37](S1%20codes/Ljy123_%2337) |
+| [x] | groupnorm | [wut0n_#5](S1%20codes/wut0n_%235)
[ZZZJ2](S1%20codes/ZZZJ2) |
+| [x] | GrowingCosineUnit | [uucoco_#35](S1%20codes/uucoco_%2335) |
+| [x] | GTU(tanh(a) * sigmoid(b)) | [Ljy123_#19](S1%20codes/Ljy123_%2319) |
+| [x] | GumbelCDF | [hli28146_#82](S1%20codes/hli28146_%2382) |
+| [x] | GumbelPDF | [hli28146_#83](S1%20codes/hli28146_%2383) |
+| [x] | hamming | [wut0n_#20](S1%20codes/wut0n_%2320) |
+| [x] | hamming_gelu | [gsd123_#139](S1%20codes/gsd123_%23139) |
+| [x] | hamming_relu | [gsd123_#140](S1%20codes/gsd123_%23140) |
+| [x] | hamming_sigmoid | [gsd123_#141](S1%20codes/gsd123_%23141) |
+| [x] | hamming_swish | [gsd123_#142](S1%20codes/gsd123_%23142) |
+| [x] | hamming_xor_and | [uucoco_#125](S1%20codes/uucoco_%23125) |
+| [x] | HammingDistance | [uucoco_#4](S1%20codes/uucoco_%234) |
+| [x] | hardbootstrappingloss | [hli28146_#42](S1%20codes/hli28146_%2342) |
+| [x] | HardELiSH | [uucoco_#36](S1%20codes/uucoco_%2336) |
+| [x] | hardmish | [gsd123_#36](S1%20codes/gsd123_%2336)
[zizi05_#8](S1%20codes/zizi05_%238) |
+| [x] | hardshrink | [uucoco_#28](S1%20codes/uucoco_%2328) |
+| [x] | HardShrink-Affine-Gate | [Ljy123_#104](S1%20codes/Ljy123_%23104) |
+| [x] | HardSigmoid | [uucoco_#27](S1%20codes/uucoco_%2327) |
+| [x] | Hardsigmoid+Affine | [Ljy123_#23](S1%20codes/Ljy123_%2323) |
+| [x] | HardSigmoid-Affine-Gate | [Ljy123_#78](S1%20codes/Ljy123_%2378) |
+| [x] | HardSReLUE | [hli28146_#110](S1%20codes/hli28146_%23110) |
+| [x] | HardSwish | [uucoco_#26](S1%20codes/uucoco_%2326) |
+| [x] | Hardswish-Affine-Gate | [Ljy123_#48](S1%20codes/Ljy123_%2348)
[Ljy123_#95](S1%20codes/Ljy123_%2395) |
+| [x] | hardswishgate | [gsd123_#89](S1%20codes/gsd123_%2389) |
+| [x] | HardTanh | [uucoco_#25](S1%20codes/uucoco_%2325) |
+| [x] | HardTanh-Affine-Gate | [Ljy123_#87](S1%20codes/Ljy123_%2387) |
+| [x] | hardtanhgate | [gsd123_#90](S1%20codes/gsd123_%2390) |
+| [x] | haversine_distance | [ZZZJ_#117](S1%20codes/ZZZJ_%23117) |
+| [x] | hellinger_bhattacharyya | [gsd123_#147](S1%20codes/gsd123_%23147) |
+| [x] | hellinger_gelu | [gsd123_#148](S1%20codes/gsd123_%23148) |
+| [x] | HellingerDistance | [uucoco_#6](S1%20codes/uucoco_%236) |
+| [x] | hexpo | [hli28146_#68](S1%20codes/hli28146_%2368) |
+| [x] | hingeembeddingloss | [ZZZJ 15](S1%20codes/ZZZJ%2015) |
+| [x] | hingeloss | [wut0n_#13](S1%20codes/wut0n_%2313) |
+| [x] | HistogramLoss | [uucoco_#90](S1%20codes/uucoco_%2390) |
+| [x] | Huber-Affine-Gate | [Ljy1234_#107](S1%20codes/Ljy1234_%23107) |
+| [x] | huber_loss_tukey_biweight | [gsd123_#113](S1%20codes/gsd123_%23113) |
+| [x] | huberloss | [wut0n_#12](S1%20codes/wut0n_%2312) |
+| [x] | HungarianLoss | [uucoco_#126](S1%20codes/uucoco_%23126) |
+| [x] | image_normalize | [ZZZJ_#68](S1%20codes/ZZZJ_%2368) |
+| [x] | ImitationLearningLoss | [uucoco_#91](S1%20codes/uucoco_%2391) |
+| [x] | infonceloss | [gsd123 19](S1%20codes/gsd123%2019)
[gsd123_#8](S1%20codes/gsd123_%238) |
+| [x] | Instancenorm | [wut0n_#4](S1%20codes/wut0n_%234) |
+| [x] | instancenorm_dropout | [wut0n_#34](S1%20codes/wut0n_%2334) |
+| [x] | instancenorm_relu | [wut0n_#35](S1%20codes/wut0n_%2335) |
+| [x] | IntraClassCorrelation | [uucoco_#11](S1%20codes/uucoco_%2311) |
+| [x] | inverse_lerp | [ZZZJ_#148](S1%20codes/ZZZJ_%23148) |
+| [x] | InverseReinforcementLearningLoss | [uucoco_#92](S1%20codes/uucoco_%2392) |
+| [x] | InverseSquare-Affine-Gate | [Ljy123_#122](S1%20codes/Ljy123_%23122) |
+| [x] | InvMultiquadratic | [gsd123_#48](S1%20codes/gsd123_%2348) |
+| [x] | iou_tanh | [uucoco_#127](S1%20codes/uucoco_%23127) |
+| [x] | IOULoss | [uucoco_#17](S1%20codes/uucoco_%2317) |
+| [x] | IpLU | [hli28146_#95](S1%20codes/hli28146_%2395) |
+| [x] | Isigmoid | [hli28146_#124](S1%20codes/hli28146_%23124) |
+| [x] | ISRLU | [gsd123_#49](S1%20codes/gsd123_%2349)
[hli28146_#72](S1%20codes/hli28146_%2372) |
+| [x] | ISRU | [gsd123_#50](S1%20codes/gsd123_%2350) |
+| [x] | ItakuraSaitoDistanceLoss | [uucoco_#93](S1%20codes/uucoco_%2393) |
+| [x] | jaccard_dice_sqrt | [uucoco_#128](S1%20codes/uucoco_%23128) |
+| [x] | jaccard_legendre | [uucoco_#129](S1%20codes/uucoco_%23129) |
+| [x] | JaccardSimilarity | [uucoco_#9](S1%20codes/uucoco_%239) |
+| [x] | jaro_winkler_softmax | [uucoco_#130](S1%20codes/uucoco_%23130) |
+| [x] | jensenshannon_groupnorm | [uucoco_#131](S1%20codes/uucoco_%23131) |
+| [x] | jsdivergence | [hli28146_#31](S1%20codes/hli28146_%2331) |
+| [x] | kldiv_jsdiv_swish | [uucoco_#132](S1%20codes/uucoco_%23132) |
+| [x] | kldivloss | [gsd123_#24](S1%20codes/gsd123_%2324)
[ZZZJ 29](S1%20codes/ZZZJ%2029) |
+| [x] | KulczynskiIndex | [gsd123_#69](S1%20codes/gsd123_%2369) |
+| [x] | kullbackleibler_layernorm | [uucoco_#133](S1%20codes/uucoco_%23133) |
+| [x] | l1 | [wut0n_#9](S1%20codes/wut0n_%239) |
+| [x] | l1_fused | [wut0n_#45](S1%20codes/wut0n_%2345) |
+| [x] | l1loss | [ZZZJ 26](S1%20codes/ZZZJ%2026) |
+| [x] | l2_normalize | [ZZZJ_#126](S1%20codes/ZZZJ_%23126) |
+| [x] | LaLU | [hli28146_#104](S1%20codes/hli28146_%23104) |
+| [x] | laplacian | [ZZZJ_#127](S1%20codes/ZZZJ_%23127) |
+| [x] | Laplacian-Affine-Gate | [Ljy123_#105](S1%20codes/Ljy123_%23105) |
+| [x] | laplacian_filter | [ZZZJ_#128](S1%20codes/ZZZJ_%23128) |
+| [x] | layernorm | [Ljy123_#1](S1%20codes/Ljy123_%231)
[wut0n_#1](S1%20codes/wut0n_%231) |
+| [x] | LDAMLoss | [hli28146_#45](S1%20codes/hli28146_%2345) |
+| [x] | Leaky-Swish+Bias | [Ljy123_#31](S1%20codes/Ljy123_%2331) |
+| [x] | LeakyReGLU | [uucoco_#37](S1%20codes/uucoco_%2337) |
+| [x] | LeakyReLU-Affine-Gate | [Ljy123_#79](S1%20codes/Ljy123_%2379) |
+| [x] | LeCunTanh | [uucoco_#38](S1%20codes/uucoco_%2338) |
+| [x] | legendreaffine | [gsd123_#91](S1%20codes/gsd123_%2391) |
+| [x] | linear_gelu | [HHyy 43](S1%20codes/HHyy%2043) |
+| [x] | lisht | [hli28146_#19](S1%20codes/hli28146_%2319) |
+| [x] | localresponsenorm | [ZZZJ 8](S1%20codes/ZZZJ%208) |
+| [x] | Log1p(Square)+Bias | [Ljy123_#27](S1%20codes/Ljy123_%2327) |
+| [x] | Log1pAbs-Affine-Gate | [LJy123_#115](S1%20codes/LJy123_%23115) |
+| [x] | logbeta | [wut0n_#29](S1%20codes/wut0n_%2329) |
+| [x] | LogCosh-Affine-Gate | [Ljy123_#106](S1%20codes/Ljy123_%23106)
[Ljy123_#58](S1%20codes/Ljy123_%2358) |
+| [x] | logcoshdiceloss | [hli28146_#56](S1%20codes/hli28146_%2356) |
+| [x] | LogCoshLoss | [Lwh20070813 42](S1%20codes/Lwh20070813%2042)
[Lwh20070813_#2](S1%20codes/Lwh20070813_%232) |
+| [x] | logdet | [ZZZJ_#167](S1%20codes/ZZZJ_%23167) |
+| [x] | logitsigmoidshift | [uucoco_#95](S1%20codes/uucoco_%2395) |
+| [x] | LogLU | [hli28146_#75](S1%20codes/hli28146_%2375) |
+| [x] | LogMeanExp | [uucoco_#24](S1%20codes/uucoco_%2324) |
+| [x] | LogSigmoid | [uucoco_#23](S1%20codes/uucoco_%2323) |
+| [x] | LogSigmoid Affine Gate | [Ljy123_#41](S1%20codes/Ljy123_%2341) |
+| [x] | LogSigmoid-Affine-Gate | [Ljy123_#96](S1%20codes/Ljy123_%2396) |
+| [x] | LogSumExp | [gsd123_#71](S1%20codes/gsd123_%2371)
[hli28146_#10](S1%20codes/hli28146_%2310)
[wut0n_#28](S1%20codes/wut0n_%2328) |
+| [x] | LogWeightedSumExp | [uucoco_#22](S1%20codes/uucoco_%2322) |
+| [x] | lp_pool2d | [ZZZJ_#149](S1%20codes/ZZZJ_%23149) |
+| [x] | lrn_simple | [zizi05_#5](S1%20codes/zizi05_%235) |
+| [x] | Lsoftmaxloss | [hli28146_#53](S1%20codes/hli28146_%2353) |
+| [x] | MahalanobisDistanceLoss | [uucoco_#96](S1%20codes/uucoco_%2396) |
+| [x] | manhattan | [wut0n_#17](S1%20codes/wut0n_%2317) |
+| [x] | manhattan_distance_matrix | [ZZZJ_#80](S1%20codes/ZZZJ_%2380) |
+| [x] | manhattan_erf | [uucoco_#134](S1%20codes/uucoco_%23134) |
+| [x] | manhattan_hardswish | [wut0n_#103](S1%20codes/wut0n_%23103) |
+| [x] | manhattan_leakyrelu | [wut0n_#60](S1%20codes/wut0n_%2360) |
+| [x] | manhattan_mse | [wut0n_#66](S1%20codes/wut0n_%2366) |
+| [x] | manhattan_relu | [wut0n_#62](S1%20codes/wut0n_%2362) |
+| [x] | manhattan_sigmoid | [wut0n_#61](S1%20codes/wut0n_%2361) |
+| [x] | manhattan_sqrt | [wut0n_#67](S1%20codes/wut0n_%2367) |
+| [x] | manhattan_swish | [wut0n_#64](S1%20codes/wut0n_%2364) |
+| [x] | manhattan_tanh | [wut0n_#65](S1%20codes/wut0n_%2365) |
+| [x] | marcsinh | [gsd123_#51](S1%20codes/gsd123_%2351) |
+| [x] | marginrankingloss | [ZZZJ 16](S1%20codes/ZZZJ%2016) |
+| [x] | matmul | [HHyy 25](S1%20codes/HHyy%2025) |
+| [x] | maxunpool1d | [ZZZJ_#11](S1%20codes/ZZZJ_%2311) |
+| [x] | maxunpool2d | [ZZZJ_#12](S1%20codes/ZZZJ_%2312) |
+| [x] | meanstdnormalizeclip | [uucoco_#97](S1%20codes/uucoco_%2397) |
+| [x] | median_filter_3d | [ZZZJ_#106](S1%20codes/ZZZJ_%23106) |
+| [x] | MElliott | [hli28146_#134](S1%20codes/hli28146_%23134) |
+| [x] | MeshEdgeLoss | [gsd123_#116](S1%20codes/gsd123_%23116) |
+| [x] | MetaAconC | [hli28146_#26](S1%20codes/hli28146_%2326) |
+| [x] | minkowski | [wut0n_#18](S1%20codes/wut0n_%2318) |
+| [x] | minkowski_contrastiveloss | [wut0n_#68](S1%20codes/wut0n_%2368) |
+| [x] | minkowski_instancenorm | [wut0n_#78](S1%20codes/wut0n_%2378) |
+| [x] | minkowski_relu | [wut0n_#74](S1%20codes/wut0n_%2374) |
+| [x] | MinkowskiDistance | [uucoco_#7](S1%20codes/uucoco_%237) |
+| [x] | minmax_observer | [ZZZJ_#103](S1%20codes/ZZZJ_%23103) |
+| [x] | minmaxscaleshift | [uucoco_#98](S1%20codes/uucoco_%2398) |
+| [x] | Mish | [gsd123_#31](S1%20codes/gsd123_%2331)
[zizi05_#1](S1%20codes/zizi05_%231) |
+| [x] | Mish+Bias | [Ljy123_#17](S1%20codes/Ljy123_%2317) |
+| [x] | Mish-Affine-Gate | [Ljy123_#93](S1%20codes/Ljy123_%2393) |
+| [x] | MishB | [uucoco_#62](S1%20codes/uucoco_%2362) |
+| [x] | mishglu | [hli28146_#59](S1%20codes/hli28146_%2359)
[uucoco_#39](S1%20codes/uucoco_%2339) |
+| [x] | mixup | [ZZZJ_#147](S1%20codes/ZZZJ_%23147) |
+| [x] | MMReLU | [hli28146_#94](S1%20codes/hli28146_%2394) |
+| [x] | ModeSeekingLoss | [uucoco_#99](S1%20codes/uucoco_%2399) |
+| [x] | ModReLU | [gsd123_#52](S1%20codes/gsd123_%2352) |
+| [x] | ModSwish | [hli28146_#114](S1%20codes/hli28146_%23114) |
+| [x] | mseloss | [wut0n_#10](S1%20codes/wut0n_%2310)
[ZZZJ 28](S1%20codes/ZZZJ%2028) |
+| [x] | MsewithLogitLoss | [uucoco_#100](S1%20codes/uucoco_%23100) |
+| [x] | mulaw_decoding | [ZZZJ_#100](S1%20codes/ZZZJ_%23100) |
+| [x] | mulaw_encoding | [ZZZJ_#101](S1%20codes/ZZZJ_%23101) |
+| [x] | multilabelmarginloss | [gsd123_#73](S1%20codes/gsd123_%2373)
[hli28146 44](S1%20codes/hli28146%2044) |
+| [x] | multimarginloss | [hli28146_#2](S1%20codes/hli28146_%232) |
+| [x] | Multiquadratic | [gsd123_#54](S1%20codes/gsd123_%2354) |
+| [x] | MutualInformation | [uucoco_#51](S1%20codes/uucoco_%2351) |
+| [x] | NIPUNA | [hli28146_#85](S1%20codes/hli28146_%2385) |
+| [x] | Nish | [hli28146_#74](S1%20codes/hli28146_%2374) |
+| [x] | NISRLU | [hli28146_#73](S1%20codes/hli28146_%2373) |
+| [x] | NLLLoss | [uucoco 32](S1%20codes/uucoco%2032)
[uucoco_#2](S1%20codes/uucoco_%232) |
+| [x] | NLReLU | [hli28146_#78](S1%20codes/hli28146_%2378) |
+| [x] | optional_get_element | [ZZZJ_#22](S1%20codes/ZZZJ_%2322) |
+| [x] | optional_has_element | [ZZZJ_#23](S1%20codes/ZZZJ_%2323) |
+| [x] | PAA | [hli28146_#132](S1%20codes/hli28146_%23132) |
+| [x] | pairwise_distance | [zizi05_#3](S1%20codes/zizi05_%233) |
+| [x] | pairwisedistance | [ZZZJ 38](S1%20codes/ZZZJ%2038) |
+| [x] | ParametricSigmoid | [uucoco_#63](S1%20codes/uucoco_%2363) |
+| [x] | PATS | [hli28146_#88](S1%20codes/hli28146_%2388) |
+| [x] | PearsonCorrelation | [Lwh20070813 41](S1%20codes/Lwh20070813%2041)
[Lwh20070813_#1](S1%20codes/Lwh20070813_%231) |
+| [x] | penalizedtanh | [hli28146_#64](S1%20codes/hli28146_%2364) |
+| [x] | PerceptualLoss | [uucoco_#101](S1%20codes/uucoco_%23101) |
+| [x] | permute | [ZZZJ_#143](S1%20codes/ZZZJ_%23143) |
+| [x] | PGELU | [hli28146_#99](S1%20codes/hli28146_%2399) |
+| [x] | piecewiseaffine | [gsd123_#94](S1%20codes/gsd123_%2394) |
+| [x] | PiecewiseLinearUnit | [gsd123_#39](S1%20codes/gsd123_%2339) |
+| [x] | poissonnllloss | [gsd123 20](S1%20codes/gsd123%2020) |
+| [x] | polar_to_cartesian | [ZZZJ_#132](S1%20codes/ZZZJ_%23132) |
+| [x] | polaraffine | [gsd123_#95](S1%20codes/gsd123_%2395) |
+| [x] | poly1crossentropy | [hli28146_#15](S1%20codes/hli28146_%2315) |
+| [x] | poly1focalloss | [hli28146_#16](S1%20codes/hli28146_%2316) |
+| [x] | PolyLoss | [uucoco_#64](S1%20codes/uucoco_%2364) |
+| [x] | polynomial_eval | [ZZZJ_#99](S1%20codes/ZZZJ_%2399) |
+| [x] | polynomialaffine | [gsd123_#96](S1%20codes/gsd123_%2396) |
+| [x] | Power-Sigmoid-Affine-Gate | [Ljy123_#46](S1%20codes/Ljy123_%2346) |
+| [x] | Power-Sigmoid-Gate | [Ljy123_#21](S1%20codes/Ljy123_%2321) |
+| [x] | PPOLoss | [uucoco_#102](S1%20codes/uucoco_%23102) |
+| [x] | PReLU | [uucoco_#40](S1%20codes/uucoco_%2340) |
+| [x] | projectiveaffine | [gsd123_#97](S1%20codes/gsd123_%2397) |
+| [x] | Prototype-Cosine Gate | [Ljy123_#36](S1%20codes/Ljy123_%2336) |
+| [x] | Pserf | [hli28146_#92](S1%20codes/hli28146_%2392) |
+| [x] | PseudoHuber-Affine-Gate | [Ljy123_#99](S1%20codes/Ljy123_%2399) |
+| [x] | PSGU | [hli28146_#101](S1%20codes/hli28146_%23101) |
+| [x] | PSMish | [uucoco_#42](S1%20codes/uucoco_%2342) |
+| [x] | PTELU | [hli28146_#122](S1%20codes/hli28146_%23122) |
+| [x] | PTLU | [uucoco_#65](S1%20codes/uucoco_%2365) |
+| [x] | python | [Ljy123_#67](S1%20codes/Ljy123_%2367) |
+| [x] | QLearningLoss | [uucoco_#103](S1%20codes/uucoco_%23103) |
+| [x] | QReLU | [gsd123_#60](S1%20codes/gsd123_%2360) |
+| [x] | QuantileLoss | [hli28146_#69](S1%20codes/hli28146_%2369)
[uucoco_#66](S1%20codes/uucoco_%2366) |
+| [x] | quantilenormalizeexpand | [uucoco_#104](S1%20codes/uucoco_%23104) |
+| [x] | RadialBasisFunction | [uucoco_#43](S1%20codes/uucoco_%2343) |
+| [x] | Range-Gate Affine | [Ljy123_#39](S1%20codes/Ljy123_%2339) |
+| [x] | rangescalegate | [uucoco_#68](S1%20codes/uucoco_%2368) |
+| [x] | rangeshiftgate | [uucoco_#69](S1%20codes/uucoco_%2369) |
+| [x] | rank_normalize_scale | [gsd123_#122](S1%20codes/gsd123_%23122) |
+| [x] | ranknetloss | [hli28146_#50](S1%20codes/hli28146_%2350) |
+| [x] | ransac_normalize_outlier_reject | [gsd123_#123](S1%20codes/gsd123_%23123) |
+| [x] | RationalClip-Affine-Gate | [Ljy123_#112](S1%20codes/Ljy123_%23112) |
+| [x] | RationalFunctionApproximator | [uucoco_#52](S1%20codes/uucoco_%2352) |
+| [x] | real_imag_hypot | [uucoco_#105](S1%20codes/uucoco_%23105) |
+| [x] | ReflectionPad3d | [gsd123 22](S1%20codes/gsd123%2022) |
+| [x] | ReLTanh | [hli28146_#125](S1%20codes/hli28146_%23125) |
+| [x] | ReLU-Affine-Gate | [Ljy123_#88](S1%20codes/Ljy123_%2388) |
+| [x] | ReLU6-Affine-Gate | [Ljy123_#83](S1%20codes/Ljy123_%2383) |
+| [x] | ReLU^2 | [Ljy123_#14](S1%20codes/Ljy123_%2314) |
+| [x] | RenyiDivergenceLoss | [uucoco_#106](S1%20codes/uucoco_%23106) |
+| [x] | repeat_interleave | [ZZZJ_#102](S1%20codes/ZZZJ_%23102) |
+| [x] | replicationpad1d | [wwmm_#4](S1%20codes/wwmm_%234) |
+| [x] | replicationpad2d | [wwmm_#5](S1%20codes/wwmm_%235) |
+| [x] | replicationpad3d | [wwmm_#6](S1%20codes/wwmm_%236) |
+| [x] | RePU | [hli28146_#60](S1%20codes/hli28146_%2360) |
+| [x] | resistance_distance_exp | [gsd123_#163](S1%20codes/gsd123_%23163) |
+| [x] | resize_nearest | [ZZZJ_#133](S1%20codes/ZZZJ_%23133) |
+| [x] | rgb_to_bayer | [ZZZJ_#36](S1%20codes/ZZZJ_%2336) |
+| [x] | rgb_to_grayscale | [ZZZJ_#41](S1%20codes/ZZZJ_%2341) |
+| [x] | rgb_to_xyz | [ZZZJ_#39](S1%20codes/ZZZJ_%2339) |
+| [x] | rgb_to_yuv | [ZZZJ_#47](S1%20codes/ZZZJ_%2347) |
+| [x] | RMAF | [hli28146_#121](S1%20codes/hli28146_%23121) |
+| [x] | rmsnorm | [Icy_cola9](S1%20codes/Icy_cola9)
[Ljy123_#8](S1%20codes/Ljy123_%238)
[wut0n_#3](S1%20codes/wut0n_%233) |
+| [x] | rmsnorm_residual | [wut0n_#32](S1%20codes/wut0n_%2332) |
+| [x] | rmsnorm_silu | [hli28146_#61](S1%20codes/hli28146_%2361) |
+| [x] | robustscalegate | [uucoco_#70](S1%20codes/uucoco_%2370) |
+| [x] | robustscalehuber | [uucoco_#107](S1%20codes/uucoco_%23107) |
+| [x] | rogers_tanimoto_silu | [gsd123_#164](S1%20codes/gsd123_%23164) |
+| [x] | roiaware_pool1d | [ZZZJ_#152](S1%20codes/ZZZJ_%23152) |
+| [x] | roll2d | [ZZZJ_#52](S1%20codes/ZZZJ_%2352) |
+| [x] | roll3d | [ZZZJ_#53](S1%20codes/ZZZJ_%2353) |
+| [x] | rope | [wwmm_#1](S1%20codes/wwmm_%231) |
+| [x] | SAAF | [hli28146_#93](S1%20codes/hli28146_%2393) |
+| [x] | SaRa | [hli28146_#106](S1%20codes/hli28146_%23106) |
+| [x] | SbPiPLU | [hli28146_#116](S1%20codes/hli28146_%23116) |
+| [x] | scalenorm | [hli28146_#33](S1%20codes/hli28146_%2333) |
+| [x] | scatter_add | [ZZZJ#24](S1%20codes/ZZZJ%2324) |
+| [x] | scatter_div | [ZZZJ_25](S1%20codes/ZZZJ_25) |
+| [x] | scatter_nd | [ZZZJ_#30](S1%20codes/ZZZJ_%2330) |
+| [x] | sceloss | [hli28146_#40](S1%20codes/hli28146_%2340) |
+| [x] | SCLMish | [hli28146_#119](S1%20codes/hli28146_%23119) |
+| [x] | SCSwish | [hli28146_#118](S1%20codes/hli28146_%23118) |
+| [x] | segment_reduce | [ZZZJ_#69](S1%20codes/ZZZJ_%2369) |
+| [x] | SELU+Affine | [Ljy123_#26](S1%20codes/Ljy123_%2326) |
+| [x] | SELU-Affine-Gate | [Ljy123_#90](S1%20codes/Ljy123_%2390) |
+| [x] | selu_clip | [zizi05_#4](S1%20codes/zizi05_%234) |
+| [x] | Sep | [hli28146_#111](S1%20codes/hli28146_%23111) |
+| [x] | separable_conv2d | [ZZZJ_#141](S1%20codes/ZZZJ_%23141) |
+| [x] | separable_conv3d | [ZZZJ_#142](S1%20codes/ZZZJ_%23142) |
+| [x] | serf | [hli28146_#65](S1%20codes/hli28146_%2365)
[uucoco_#45](S1%20codes/uucoco_%2345) |
+| [x] | Serlu | [gsd123_#40](S1%20codes/gsd123_%2340) |
+| [x] | ShiftedSincUnit | [uucoco_#47](S1%20codes/uucoco_%2347) |
+| [x] | Sigmoid+Clamp+Affine | [Ljy123_#16](S1%20codes/Ljy123_%2316) |
+| [x] | Sigmoid-Affine-Gate | [Ljy123_#85](S1%20codes/Ljy123_%2385) |
+| [x] | sigmoid_derivative | [wut0n_#27](S1%20codes/wut0n_%2327) |
+| [x] | sigmoid_focal_loss | [ZZZJ_#131](S1%20codes/ZZZJ_%23131) |
+| [x] | SigmoidGLU | [uucoco_#53](S1%20codes/uucoco_%2353) |
+| [x] | SigmoidSlope-Affine-Gate | [Ljy123_#110](S1%20codes/Ljy123_%23110) |
+| [x] | SigmoidSquared-Affine-Gate | [Ljy123_#117](S1%20codes/Ljy123_%23117) |
+| [x] | signmuladd | [uucoco_#108](S1%20codes/uucoco_%23108) |
+| [x] | SimCLRLoss | [gsd123_#133](S1%20codes/gsd123_%23133) |
+| [x] | Sin-Affine-Gate | [Ljy123_#44](S1%20codes/Ljy123_%2344) |
+| [x] | Sinc-Affine-Gate | [Ljy123_#92](S1%20codes/Ljy123_%2392) |
+| [x] | sincoshypot | [uucoco_#109](S1%20codes/uucoco_%23109) |
+| [x] | Sine-Affine-Gate | [Ljy123_#114](S1%20codes/Ljy123_%23114) |
+| [x] | Sinh-Affine-Gate | [Ljy123_#81](S1%20codes/Ljy123_%2381) |
+| [x] | SinLU | [hli28146_#89](S1%20codes/hli28146_%2389) |
+| [x] | SinuGaussian | [uucoco_#71](S1%20codes/uucoco_%2371) |
+| [x] | smelu | [hli28146_#27](S1%20codes/hli28146_%2327)
[uucoco_#48](S1%20codes/uucoco_%2348) |
+| [x] | SmoothAbs | [gsd123_#74](S1%20codes/gsd123_%2374) |
+| [x] | SmoothL1Loss | [gsd123 40](S1%20codes/gsd123%2040)
[gsd123_#13](S1%20codes/gsd123_%2313) |
+| [x] | SmoothMaximum | [gsd123_#75](S1%20codes/gsd123_%2375) |
+| [x] | SmoothMinimum | [gsd123_#76](S1%20codes/gsd123_%2376) |
+| [x] | SmoothRamp | [gsd123_#77](S1%20codes/gsd123_%2377) |
+| [x] | SmoothStep | [gsd123_#78](S1%20codes/gsd123_%2378)
[ZZZJ_#123](S1%20codes/ZZZJ_%23123) |
+| [x] | SoftClip | [uucoco_#21](S1%20codes/uucoco_%2321) |
+| [x] | SoftClip+Affine | [Ljy123_#30](S1%20codes/Ljy123_%2330) |
+| [x] | SoftExponential | [uucoco_#20](S1%20codes/uucoco_%2320) |
+| [x] | softmarginloss | [hli28146 35](S1%20codes/hli28146%2035)
[hli28146_#3](S1%20codes/hli28146_%233) |
+| [x] | softmax | [Ljy123_#6](S1%20codes/Ljy123_%236) |
+| [x] | softmin | [uucoco_#14](S1%20codes/uucoco_%2314) |
+| [x] | softplus | [uucoco_#15](S1%20codes/uucoco_%2315) |
+| [x] | Softplus+Bias | [Ljy123_#15](S1%20codes/Ljy123_%2315) |
+| [x] | Softplus^2-Affine-Gate | [Ljy123_#80](S1%20codes/Ljy123_%2380) |
+| [x] | Softplus^3-Affine-Gate | [Ljy123_#102](S1%20codes/Ljy123_%23102) |
+| [x] | SoftplusGLU | [uucoco_#54](S1%20codes/uucoco_%2354) |
+| [x] | SoftplusSqrt-Affine-Gate | [Ljy123_#108](S1%20codes/Ljy123_%23108) |
+| [x] | softshrink | [uucoco_#16](S1%20codes/uucoco_%2316) |
+| [x] | SoftShrink-Affine-Gate | [Ljy123_#103](S1%20codes/Ljy123_%23103) |
+| [x] | softsign | [uucoco_#18](S1%20codes/uucoco_%2318) |
+| [x] | Softsign+Affine | [Ljy123_#18](S1%20codes/Ljy123_%2318) |
+| [x] | SoftSign-Affine-Gate | [Ljy123_#91](S1%20codes/Ljy123_%2391) |
+| [x] | Softsign-Sigmoid-Mix-Gate | [Ljy123_#52](S1%20codes/Ljy123_%2352) |
+| [x] | SoftSignSquared-Affine-Gate | [Ljy123_#119](S1%20codes/Ljy123_%23119) |
+| [x] | solarize | [ZZZJ_#140](S1%20codes/ZZZJ_%23140) |
+| [x] | Spatial-Diff Sigmoid Gate | [Ljy123_#38](S1%20codes/Ljy123_%2338) |
+| [x] | spherefaceloss | [hli28146_#23](S1%20codes/hli28146_%2323) |
+| [x] | Spherical+Affine | [Ljy123_#24](S1%20codes/Ljy123_%2324) |
+| [x] | SQRBF | [gsd123_#59](S1%20codes/gsd123_%2359) |
+| [x] | Sqrt(ReLU)+Affine | [Ljy123_#28](S1%20codes/Ljy123_%2328) |
+| [x] | sqrtreciprocalrsqrt | [uucoco_#110](S1%20codes/uucoco_%23110) |
+| [x] | Square-Sigmoid-Affine-Gate | [LJy123_#47](S1%20codes/LJy123_%2347) |
+| [x] | squared_euclidean | [wut0n_#23](S1%20codes/wut0n_%2323) |
+| [x] | SquaredHingeLoss | [uucoco_#72](S1%20codes/uucoco_%2372) |
+| [x] | squareplus | [ZZZJ_#124](S1%20codes/ZZZJ_%23124) |
+| [x] | SReLU | [uucoco_#49](S1%20codes/uucoco_%2349) |
+| [x] | SRS | [uucoco_#73](S1%20codes/uucoco_%2373) |
+| [x] | std_mean | [ZZZJ_#122](S1%20codes/ZZZJ_%23122) |
+| [x] | STL | [hli28146_#79](S1%20codes/hli28146_%2379) |
+| [x] | structural_similarity_softplus | [uucoco_#135](S1%20codes/uucoco_%23135) |
+| [x] | SupConLoss | [gsd123_#132](S1%20codes/gsd123_%23132) |
+| [x] | SwAT | [hli28146_#109](S1%20codes/hli28146_%23109) |
+| [x] | swiglu | [zizi05_#7](S1%20codes/zizi05_%237)
[ZZZJ1](S1%20codes/ZZZJ1) |
+| [x] | swish | [Ljy123_#7](S1%20codes/Ljy123_%237) |
+| [x] | Swish(SiLU)-Affine-Gate | [Ljy123_#86](S1%20codes/Ljy123_%2386) |
+| [x] | Swish^2+Bias | [Ljy123_#25](S1%20codes/Ljy123_%2325) |
+| [x] | swish_layernorm | [zizi05_10](S1%20codes/zizi05_10) |
+| [x] | switchablenorm | [ZZZJ 12](S1%20codes/ZZZJ%2012) |
+| [x] | SørensenDice | [gsd123_#27](S1%20codes/gsd123_%2327) |
+| [x] | Tanh-Affine-Gate | [Ljy123_#45](S1%20codes/Ljy123_%2345)
[Ljy123_#84](S1%20codes/Ljy123_%2384) |
+| [x] | tanhexp | [hli28146_#20](S1%20codes/hli28146_%2320) |
+| [x] | TanhGLU | [uucoco_#55](S1%20codes/uucoco_%2355) |
+| [x] | TanhLU | [hli28146_#90](S1%20codes/hli28146_%2390) |
+| [x] | tanhshrink | [zizi05_#9](S1%20codes/zizi05_%239) |
+| [x] | Tanhshrink+Affine | [Ljy123_#20](S1%20codes/Ljy123_%2320) |
+| [x] | TanhSlope-Affine-Gate | [Ljy123_#111](S1%20codes/Ljy123_%23111) |
+| [x] | TanhSoft1 | [hli28146_#96](S1%20codes/hli28146_%2396) |
+| [x] | TanhSoft2 | [hli28146_#97](S1%20codes/hli28146_%2397) |
+| [x] | TanimotoCoefficient | [uucoco 33](S1%20codes/uucoco%2033)
[uucoco_#3](S1%20codes/uucoco_%233) |
+| [x] | TDLoss | [uucoco_#111](S1%20codes/uucoco_%23111) |
+| [x] | TeLU | [hli28146_#80](S1%20codes/hli28146_%2380) |
+| [x] | Temperature Softmax Channel Affine | [Ljy123_#40](S1%20codes/Ljy123_%2340) |
+| [x] | tensor_roll | [ZZZJ_#138](S1%20codes/ZZZJ_%23138) |
+| [x] | three_interpolate | [ZZZJ_#156](S1%20codes/ZZZJ_%23156) |
+| [x] | thresholdscalenegate | [uucoco_#112](S1%20codes/uucoco_%23112) |
+| [x] | topk_filtering | [ZZZJ_#139](S1%20codes/ZZZJ_%23139) |
+| [x] | total_correlation_elu | [uucoco_#136](S1%20codes/uucoco_%23136) |
+| [x] | transpose_scale | [ZZZJ_#125](S1%20codes/ZZZJ_%23125) |
+| [x] | tripletloss | [wut0n_#7](S1%20codes/wut0n_%237) |
+| [x] | tripletmarginloss | [hli28146_#1](S1%20codes/hli28146_%231)
[ZZZJ 30](S1%20codes/ZZZJ%2030) |
+| [x] | TripletMarginWithDistanceLoss | [gsd123 39](S1%20codes/gsd123%2039)
[gsd123_#14](S1%20codes/gsd123_%2314) |
+| [x] | TrustRegionPolicyOptimizationLoss | [uucoco_#113](S1%20codes/uucoco_%23113) |
+| [x] | TsallisDivergenceLoss | [uucoco_#114](S1%20codes/uucoco_%23114) |
+| [x] | tversky_loss | [ZZZJ_#72](S1%20codes/ZZZJ_%2372) |
+| [x] | TverskyIndex | [gsd123_#80](S1%20codes/gsd123_%2380) |
+| [x] | tverskyloss | [hli28146_#57](S1%20codes/hli28146_%2357) |
+| [x] | TweedieLoss | [gsd123_#100](S1%20codes/gsd123_%23100) |
+| [x] | upsample | [ZZZJ 21](S1%20codes/ZZZJ%2021) |
+| [x] | ValueLoss | [uucoco_#115](S1%20codes/uucoco_%23115) |
+| [x] | Variance | [uucoco_#13](S1%20codes/uucoco_%2313)
[wut0n_#26](S1%20codes/wut0n_%2326) |
+| [x] | VariationOfInformation | [uucoco_#56](S1%20codes/uucoco_%2356) |
+| [x] | vecdot | [hli28146_#8](S1%20codes/hli28146_%238) |
+| [x] | VIDLoss | [gsd123_#107](S1%20codes/gsd123_%23107) |
+| [x] | voxel_hash | [ZZZJ_#158](S1%20codes/ZZZJ_%23158) |
+| [x] | voxel_mean | [ZZZJ_#159](S1%20codes/ZZZJ_%23159) |
+| [x] | voxel_to_point | [ZZZJ_#160](S1%20codes/ZZZJ_%23160) |
+| [x] | wasserstein_energy_gelu | [uucoco_#137](S1%20codes/uucoco_%23137) |
+| [x] | wasserstein_layernorm | [gsd123_#166](S1%20codes/gsd123_%23166) |
+| [x] | waveletaffine | [gsd123_#101](S1%20codes/gsd123_%23101) |
+| [x] | WeightDecay | [gsd123_#81](S1%20codes/gsd123_%2381) |
+| [x] | wingloss | [hli28146_#14](S1%20codes/hli28146_%2314) |
+| [x] | winsorize_scale_normalize | [gsd123_#93](S1%20codes/gsd123_%2393) |
+| [x] | wiou | [ZZZJ_#33](S1%20codes/ZZZJ_%2333) |
+| [x] | xIELU | [hli28146_#77](S1%20codes/hli28146_%2377) |
+| [x] | xSiLU | [hli28146_#76](S1%20codes/hli28146_%2376) |
+| [x] | xyz_to_rgb | [ZZZJ_#38](S1%20codes/ZZZJ_%2338) |
+| [x] | yuv_to_rgb | [ZZZJ_#49](S1%20codes/ZZZJ_%2349) |
+| [x] | zeropad2d | [ZZZJ_#9](S1%20codes/ZZZJ_%239) |
+| [x] | zeropad3d | [ZZZJ_#10](S1%20codes/ZZZJ_%2310) |
+| [x] | zscoresigmoiddenormalize | [uucoco_#116](S1%20codes/uucoco_%23116) |
+| [x] | 仿射+ReLU | [Ljy123_#9](S1%20codes/Ljy123_%239) |
+
+
+
+
---
## 📥 参赛流程
@@ -209,4 +806,4 @@
## FAQ
-[第一季FAQ参考](https://gitlink.org.cn/ccf-ai-infra/GPUCodeForces/tree/main/FAQ.md)
\ No newline at end of file
+[第一季FAQ参考](https://gitlink.org.cn/ccf-ai-infra/GPUCodeForces/tree/main/FAQ.md)
diff --git a/scripts/operator_targets.txt b/scripts/operator_targets.txt
new file mode 100644
index 0000000..44e89c9
--- /dev/null
+++ b/scripts/operator_targets.txt
@@ -0,0 +1,581 @@
+# Operator targets tracked in README.md
+# Add unimplemented operators here, one per line.
+# scripts/update_operator_checklist.py checks them when matching implementations appear under S1 codes/.
+
+aconc
+ActorCriticLoss
+adaptive_maxpool1d
+adaptive_maxpool3d
+Adaptivepiecewiselinear
+AdvantageLoss
+AdversarialLoss
+Affine+ReLU6 融合
+affine_grid3d
+affineleakyreluclamp
+AHAF
+AHerfReLU
+alpha_iou
+alphablend
+angle
+AngularDistance
+AngularLoss
+AOAF
+APALU
+AQuLU
+arcfaceloss
+ArcSinh-Affine-Gate
+ArcSinTanh-Affine-Gate
+Arctan-Affine-Gate
+ARiA2
+Atan-Sigmoid-Mix-Gate
+balanced_softmax_loss
+ball_query
+batchnorm1d
+bce
+bcewithlogitsloss
+BehaviorCloningLoss
+BellmanLoss
+BetaDivergenceLoss
+BhattacharyyaDistance
+Bias+GELU(tanh 近似)
+Bias+SiLU(Swish)融合
+bilinear
+BilinearGLU
+Bipolar
+BipolarSigmoid
+black_scholes
+blurpool
+box_area
+box_corner_to_center
+box_iou
+boxfilter
+braycurtis
+braycurtis_adaptive_triplet
+bregman_divergence_gelu
+BregmanDivergenceLoss
+BReLU
+broadcast_tensors
+bucketize
+BYOLLoss
+canberra
+canberra_focalloss
+CanberraDistance
+cartesian_prod
+causal_mask
+CELU-Affine-Gate
+CenterNetLoss
+Channel RMS Gate
+Channel-Softmax-Affine gating
+channel_permute
+channelmeangate
+ChannelShuffle
+CharbonnierLoss
+chebyshev
+chebyshev_abs_square
+chebyshev_hardswish
+chebyshev_leakyrelu
+chebyshev_sigmoid
+chebyshevaffine
+ChebyshevDistance
+cholesky
+circleloss
+circularpad1d
+circularpad2d
+circularpad3d
+clarksDistance
+cmyk_to_rgb
+Colu
+column_stack
+ComboLoss
+complex_abs_angle_polar
+complex_conj_mul_div
+complex_exp_log_power
+complex_mul
+constantpad3d
+contrastiveloss
+conv2d
+Cos-Affine-Gate
+cosfaceloss
+cosine
+Cosine-Affine-Gate
+Cosine-Square-Affine-Gate
+cosine_swish_gelu
+cosinedistance
+cosinedistance_softmax
+CosineEmbeddingLoss
+cosineloss
+cosinesimilarity
+CoVariance
+crop_resize
+cross
+cross_layer_norm
+CrossEntropyDiceLoss
+CrossEntropyLoss
+CRReLU
+cumsum
+DecayingSineUnit
+deepnorm
+depthwise_conv1d
+dequantize_fp4
+dequantize_int8
+dequantize_linear
+dice
+dice_bce
+dice_from_2d
+DiceLoss
+DiceSimilarity
+digitization
+Dilation1d
+Dilation2d
+DistillationLoss
+dot_mse_tanh
+DoubleGLU
+dropblock1d
+DSiLU
+DSReLU
+Dual-Input Contrastive Gate
+dw_transpose
+dw_transpose2d
+dw_transpose3d
+EIS1
+EIS2
+EIS3
+ELU-Affine-Gate
+ELUGLU
+embeddingbag
+EMDLoss
+Erf-Affine-Gate
+ErfAct
+ErfReLU
+Erosion1d
+Erosion2d
+Esh
+euclidean
+euclidean_erfc
+evonorm
+Exp-Square Affine Gate
+Expm1+Affine
+Expm1-Sigmoid-Affine-Gate
+expnormalizelog
+ExponentialLinear-Affine-Gate
+fake_quantize_per_channel_affine
+fake_quantize_per_tensor_affine
+farthest_point_sampling
+FastAPLoss
+FDivergenceLoss
+finite_difference
+fisherrao_rmsnorm
+FlattenT
+flip_horizontal
+fma_activation
+focal_eiou
+FocalLoss
+focalloss_fused
+focalloss_labelsmoothing
+focalloss_reduction
+focalloss_sigmoid
+focaltverskyloss
+fold
+fourieraffine
+FPFLU
+FReLU
+fresnel_schlick
+FTS
+FunnelActivationforVisualRecognition
+fused_adam_step
+fused_rmsprop_step
+gamma_correction
+GammaDivergenceLoss
+gateblendnormalize
+gather_elements
+Gaussian+Bias
+Gaussian-Affine-Gate
+gaussian_blur
+gaussian_filter_2d
+gaussian_pdf
+GaussianNLLLoss
+GDL
+GELU-Affine-Gate
+gelu_dropout
+gempool
+GeneratorLoss
+giouloss
+global_average_pooling
+global_response_normalization
+GLU(Gated Linear Unit)融合
+Gompertz-Affine-Gate
+gowerdistance
+GradientClip
+gridsample1d
+Group-Softmax-Affine gating
+groupnorm
+GrowingCosineUnit
+GTU(tanh(a) * sigmoid(b))
+GumbelCDF
+GumbelPDF
+hamming
+hamming_gelu
+hamming_relu
+hamming_sigmoid
+hamming_swish
+hamming_xor_and
+HammingDistance
+hardbootstrappingloss
+HardELiSH
+hardmish
+hardshrink
+HardShrink-Affine-Gate
+HardSigmoid
+Hardsigmoid+Affine
+HardSigmoid-Affine-Gate
+HardSReLUE
+HardSwish
+Hardswish-Affine-Gate
+hardswishgate
+HardTanh
+HardTanh-Affine-Gate
+hardtanhgate
+haversine_distance
+hellinger_bhattacharyya
+hellinger_gelu
+HellingerDistance
+hexpo
+hingeembeddingloss
+hingeloss
+HistogramLoss
+Huber-Affine-Gate
+huber_loss_tukey_biweight
+huberloss
+HungarianLoss
+image_normalize
+ImitationLearningLoss
+infonceloss
+Instancenorm
+instancenorm_dropout
+instancenorm_relu
+IntraClassCorrelation
+inverse_lerp
+InverseReinforcementLearningLoss
+InverseSquare-Affine-Gate
+InvMultiquadratic
+iou_tanh
+IOULoss
+IpLU
+Isigmoid
+ISRLU
+ISRU
+ItakuraSaitoDistanceLoss
+jaccard_dice_sqrt
+jaccard_legendre
+JaccardSimilarity
+jaro_winkler_softmax
+jensenshannon_groupnorm
+jsdivergence
+kldiv_jsdiv_swish
+kldivloss
+KulczynskiIndex
+kullbackleibler_layernorm
+l1
+l1_fused
+l1loss
+l2_normalize
+LaLU
+laplacian
+Laplacian-Affine-Gate
+laplacian_filter
+layernorm
+LDAMLoss
+Leaky-Swish+Bias
+LeakyReGLU
+LeakyReLU-Affine-Gate
+LeCunTanh
+legendreaffine
+linear_gelu
+lisht
+localresponsenorm
+Log1p(Square)+Bias
+Log1pAbs-Affine-Gate
+logbeta
+LogCosh-Affine-Gate
+logcoshdiceloss
+LogCoshLoss
+logdet
+logitsigmoidshift
+LogLU
+LogMeanExp
+LogSigmoid
+LogSigmoid Affine Gate
+LogSigmoid-Affine-Gate
+LogSumExp
+LogWeightedSumExp
+lp_pool2d
+lrn_simple
+Lsoftmaxloss
+MahalanobisDistanceLoss
+manhattan
+manhattan_distance_matrix
+manhattan_erf
+manhattan_hardswish
+manhattan_leakyrelu
+manhattan_mse
+manhattan_relu
+manhattan_sigmoid
+manhattan_sqrt
+manhattan_swish
+manhattan_tanh
+marcsinh
+marginrankingloss
+matmul
+maxunpool1d
+maxunpool2d
+meanstdnormalizeclip
+median_filter_3d
+MElliott
+MeshEdgeLoss
+MetaAconC
+minkowski
+minkowski_contrastiveloss
+minkowski_instancenorm
+minkowski_relu
+MinkowskiDistance
+minmax_observer
+minmaxscaleshift
+Mish
+Mish+Bias
+Mish-Affine-Gate
+MishB
+mishglu
+mixup
+MMReLU
+ModeSeekingLoss
+ModReLU
+ModSwish
+mseloss
+MsewithLogitLoss
+mulaw_decoding
+mulaw_encoding
+multilabelmarginloss
+multimarginloss
+Multiquadratic
+MutualInformation
+NIPUNA
+Nish
+NISRLU
+NLLLoss
+NLReLU
+optional_get_element
+optional_has_element
+PAA
+pairwise_distance
+pairwisedistance
+ParametricSigmoid
+PATS
+PearsonCorrelation
+penalizedtanh
+PerceptualLoss
+permute
+PGELU
+piecewiseaffine
+PiecewiseLinearUnit
+poissonnllloss
+polar_to_cartesian
+polaraffine
+poly1crossentropy
+poly1focalloss
+PolyLoss
+polynomial_eval
+polynomialaffine
+Power-Sigmoid-Affine-Gate
+Power-Sigmoid-Gate
+PPOLoss
+PReLU
+projectiveaffine
+Prototype-Cosine Gate
+Pserf
+PseudoHuber-Affine-Gate
+PSGU
+PSMish
+PTELU
+PTLU
+python
+QLearningLoss
+QReLU
+QuantileLoss
+quantilenormalizeexpand
+RadialBasisFunction
+Range-Gate Affine
+rangescalegate
+rangeshiftgate
+rank_normalize_scale
+ranknetloss
+ransac_normalize_outlier_reject
+RationalClip-Affine-Gate
+RationalFunctionApproximator
+real_imag_hypot
+ReflectionPad3d
+ReLTanh
+ReLU-Affine-Gate
+ReLU6-Affine-Gate
+ReLU^2
+RenyiDivergenceLoss
+repeat_interleave
+replicationpad1d
+replicationpad2d
+replicationpad3d
+RePU
+resistance_distance_exp
+resize_nearest
+rgb_to_bayer
+rgb_to_grayscale
+rgb_to_xyz
+rgb_to_yuv
+RMAF
+rmsnorm
+rmsnorm_residual
+rmsnorm_silu
+robustscalegate
+robustscalehuber
+rogers_tanimoto_silu
+roiaware_pool1d
+roll2d
+roll3d
+rope
+SAAF
+SaRa
+SbPiPLU
+scalenorm
+scatter_add
+scatter_div
+scatter_nd
+sceloss
+SCLMish
+SCSwish
+segment_reduce
+SELU+Affine
+SELU-Affine-Gate
+selu_clip
+Sep
+separable_conv2d
+separable_conv3d
+serf
+Serlu
+ShiftedSincUnit
+Sigmoid+Clamp+Affine
+Sigmoid-Affine-Gate
+sigmoid_derivative
+sigmoid_focal_loss
+SigmoidGLU
+SigmoidSlope-Affine-Gate
+SigmoidSquared-Affine-Gate
+signmuladd
+SimCLRLoss
+Sin-Affine-Gate
+Sinc-Affine-Gate
+sincoshypot
+Sine-Affine-Gate
+Sinh-Affine-Gate
+SinLU
+SinuGaussian
+smelu
+SmoothAbs
+SmoothL1Loss
+SmoothMaximum
+SmoothMinimum
+SmoothRamp
+SmoothStep
+SoftClip
+SoftClip+Affine
+SoftExponential
+softmarginloss
+softmax
+softmin
+softplus
+Softplus+Bias
+Softplus^2-Affine-Gate
+Softplus^3-Affine-Gate
+SoftplusGLU
+SoftplusSqrt-Affine-Gate
+softshrink
+SoftShrink-Affine-Gate
+softsign
+Softsign+Affine
+SoftSign-Affine-Gate
+Softsign-Sigmoid-Mix-Gate
+SoftSignSquared-Affine-Gate
+solarize
+Spatial-Diff Sigmoid Gate
+spherefaceloss
+Spherical+Affine
+SQRBF
+Sqrt(ReLU)+Affine
+sqrtreciprocalrsqrt
+Square-Sigmoid-Affine-Gate
+squared_euclidean
+SquaredHingeLoss
+squareplus
+SReLU
+SRS
+std_mean
+STL
+structural_similarity_softplus
+SupConLoss
+SwAT
+swiglu
+swish
+Swish(SiLU)-Affine-Gate
+Swish^2+Bias
+swish_layernorm
+switchablenorm
+SørensenDice
+Tanh-Affine-Gate
+tanhexp
+TanhGLU
+TanhLU
+tanhshrink
+Tanhshrink+Affine
+TanhSlope-Affine-Gate
+TanhSoft1
+TanhSoft2
+TanimotoCoefficient
+TDLoss
+TeLU
+Temperature Softmax Channel Affine
+tensor_roll
+three_interpolate
+thresholdscalenegate
+topk_filtering
+total_correlation_elu
+transpose_scale
+tripletloss
+tripletmarginloss
+TripletMarginWithDistanceLoss
+TrustRegionPolicyOptimizationLoss
+TsallisDivergenceLoss
+tversky_loss
+TverskyIndex
+tverskyloss
+TweedieLoss
+upsample
+ValueLoss
+Variance
+VariationOfInformation
+vecdot
+VIDLoss
+voxel_hash
+voxel_mean
+voxel_to_point
+wasserstein_energy_gelu
+wasserstein_layernorm
+waveletaffine
+WeightDecay
+wingloss
+winsorize_scale_normalize
+wiou
+xIELU
+xSiLU
+xyz_to_rgb
+yuv_to_rgb
+zeropad2d
+zeropad3d
+zscoresigmoiddenormalize
+仿射+ReLU
diff --git a/scripts/update_operator_checklist.py b/scripts/update_operator_checklist.py
new file mode 100644
index 0000000..1c091f4
--- /dev/null
+++ b/scripts/update_operator_checklist.py
@@ -0,0 +1,293 @@
+#!/usr/bin/env python3
+"""Generate the implemented-operator checklist in README.md.
+
+The checklist is driven by two sources:
+- scripts/operator_targets.txt: known operators to track, one per line.
+- S1 codes/: submitted implementations containing *cuda*.py files.
+
+New implementations are marked as checked automatically when the discovered
+operator name matches a target name. Operators discovered from submissions but
+missing from the target file are included as checked rows as well.
+"""
+
+from __future__ import annotations
+
+import argparse
+import re
+from pathlib import Path
+from urllib.parse import quote
+
+
+ROOT = Path(__file__).resolve().parents[1]
+README = ROOT / "README.md"
+S1_DIR = ROOT / "S1 codes"
+TARGETS = ROOT / "scripts" / "operator_targets.txt"
+
+START = ""
+END = ""
+
+
+def clean_operator(value: str | None) -> str | None:
+ if not value:
+ return None
+
+ text = value.strip()
+ text = re.sub(r"\s*\((?:Fused\s+)?CUDA\s+Kernel\)\s*$", "", text)
+ text = re.sub(r"\s+with custom CUDA kernel\s*$", "", text)
+ text = re.sub(r"(一次核内.*$", "", text)
+ text = re.sub(r",.*$", "", text)
+ text = re.sub(r"。.*$", "", text)
+ text = text.strip(" ::.。")
+ return text or None
+
+
+def normalize_key(value: str) -> str:
+ return re.sub(r"\s+", "", value).casefold()
+
+
+def read_text(path: Path) -> str:
+ return path.read_text(encoding="utf-8", errors="ignore")
+
+
+def operator_from_torch(torch_path: Path) -> str | None:
+ if not torch_path.exists():
+ return None
+
+ text = read_text(torch_path)
+ if re.search(r"torch\.relu\(x \* self\.scale \+ self\.bias\)", text):
+ return "Affine+ReLU"
+ if re.search(
+ r"torch\.maximum\(x,\s*torch\.zeros_like\(x\)\).*torch\.log1p\(torch\.exp\(-ax\)\)",
+ text,
+ re.S,
+ ):
+ return "BCEWithLogitsLoss"
+
+ match = re.search(r"return\s+F\.([A-Za-z0-9_]+)\(", text)
+ if match:
+ return match.group(1)
+
+ match = re.search(r"return\s+torch\.([A-Za-z0-9_]+)\(", text)
+ if match:
+ return match.group(1)
+
+ return None
+
+
+def operator_from_prompt(prompt_path: Path) -> str | None:
+ if not prompt_path.exists():
+ return None
+
+ skip_prefixes = (
+ "You write custom CUDA kernels",
+ "你需要为下面给定的架构",
+ "你可以自由选择",
+ "给定架构",
+ "torchcode.py",
+ "cudacode.py",
+ "run_code.py",
+ )
+
+ for raw_line in prompt_path.read_text(encoding="utf-8", errors="ignore").splitlines():
+ line = re.sub(r"^\s*[#>*\-`]+\s*", "", raw_line).strip()
+ if not line:
+ continue
+ if line.startswith(skip_prefixes):
+ continue
+
+ match = re.match(r"^Operator\s*[::]\s*(.+)$", line)
+ if match:
+ return clean_operator(match.group(1))
+
+ match = re.match(r"^Objective\s*[::].*?\bfor\s+(.+?)\s+to\s+achieve", line)
+ if match:
+ return clean_operator(match.group(1))
+
+ match = re.match(r"^Implement\s+(?:a\s+|an\s+)?(.+?)(?:\s+on\b|\s+for\b|\s*[::]|$)", line)
+ if match:
+ return clean_operator(match.group(1))
+
+ match = re.search(r"“([^”]+)”", line)
+ if match:
+ return clean_operator(match.group(1))
+
+ match = re.search(r"算子\s*[::]\s*([^。;;,,]+)", line)
+ if match:
+ return clean_operator(match.group(1))
+
+ match = re.match(r"^(.+?)融合\s*[::]", line)
+ if match:
+ return clean_operator(match.group(1) + "融合")
+
+ if len(line) <= 80:
+ return clean_operator(line)
+
+ return None
+
+
+def discover_operator(directory: Path) -> str | None:
+ cuda_files = sorted(directory.glob("*cuda*.py"), key=lambda p: p.name.casefold())
+ if not cuda_files:
+ return None
+
+ cuda_base = cuda_files[0].stem
+ if re.match(r"^(example_)?cudacode$", cuda_base, re.I):
+ torch_files = sorted(directory.glob("*torch*.py"), key=lambda p: p.name.casefold())
+ specific_torch = [
+ path for path in torch_files if not re.match(r"^(example_)?torchcode$", path.stem, re.I)
+ ]
+ if specific_torch:
+ return re.sub(r"_?torch(code)?$", "", specific_torch[0].stem, flags=re.I).strip()
+
+ return (
+ operator_from_prompt(directory / "prompt.txt")
+ or operator_from_torch(directory / "torchcode.py")
+ or cuda_base
+ )
+
+ return re.sub(r"_?cudacode$|_?cuda$", "", cuda_base, flags=re.I).strip()
+
+
+def discover_implemented() -> dict[str, dict[str, object]]:
+ implemented: dict[str, dict[str, object]] = {}
+ if not S1_DIR.exists():
+ return implemented
+
+ for directory in sorted((path for path in S1_DIR.iterdir() if path.is_dir()), key=lambda p: p.name.casefold()):
+ operator = clean_operator(discover_operator(directory))
+ if not operator:
+ continue
+
+ key = normalize_key(operator)
+ row = implemented.setdefault(key, {"name": operator, "directories": []})
+ directories = row["directories"]
+ assert isinstance(directories, list)
+ directories.append(directory.name)
+
+ return implemented
+
+
+def read_targets() -> list[str]:
+ if not TARGETS.exists():
+ return []
+
+ targets: list[str] = []
+ seen: set[str] = set()
+ for raw_line in TARGETS.read_text(encoding="utf-8").splitlines():
+ line = raw_line.strip()
+ if not line or line.startswith("#"):
+ continue
+ key = normalize_key(line)
+ if key in seen:
+ continue
+ seen.add(key)
+ targets.append(line)
+ return targets
+
+
+def write_targets(targets: list[str]) -> None:
+ body = [
+ "# Operator targets tracked in README.md",
+ "# Add unimplemented operators here, one per line.",
+ "# scripts/update_operator_checklist.py checks them when matching implementations appear under S1 codes/.",
+ "",
+ *targets,
+ "",
+ ]
+ TARGETS.write_text("\n".join(body), encoding="utf-8", newline="\n")
+
+
+def link_for_directory(directory: str) -> str:
+ return f"[{directory}](S1%20codes/{quote(directory)})"
+
+
+def build_section(targets: list[str], implemented: dict[str, dict[str, object]]) -> str:
+ target_by_key = {normalize_key(target): target for target in targets}
+ all_keys = set(target_by_key) | set(implemented)
+
+ checked = len([key for key in all_keys if key in implemented])
+ unchecked = len(all_keys) - checked
+
+ rows: list[tuple[bool, str, list[str]]] = []
+ for key in sorted(all_keys, key=lambda item: (item not in implemented, (target_by_key.get(item) or implemented[item]["name"]).casefold())):
+ item = implemented.get(key)
+ name = target_by_key.get(key) or str(item["name"])
+ directories = list(item["directories"]) if item else []
+ rows.append((item is not None, name, directories))
+
+ lines = [
+ START,
+ "## ✅ 算子实现状态",
+ "",
+ "该清单由 `scripts/update_operator_checklist.py` 根据 `scripts/operator_targets.txt` 和 `S1 codes/` 自动生成;新增待实现算子请写入目标清单,新增实现目录后运行 `python scripts/update_operator_checklist.py --sync-targets` 即可自动勾选。",
+ "",
+ f"- 已实现:{checked}",
+ f"- 未实现:{unchecked}",
+ f"- 跟踪总数:{len(all_keys)}",
+ "",
+ "",
+ "展开查看算子实现状态
",
+ "",
+ "| 状态 | 算子 | 实现目录 |",
+ "| --- | --- | --- |",
+ ]
+
+ for done, name, directories in rows:
+ status = "[x]" if done else "[ ]"
+ links = "
".join(link_for_directory(directory) for directory in directories) if directories else "-"
+ lines.append(f"| {status} | {name.replace('|', r'\|')} | {links} |")
+
+ lines.extend(["", " ", END])
+ return "\n".join(lines)
+
+
+def update_readme(section: str) -> None:
+ content = README.read_text(encoding="utf-8")
+ old_static_pattern = r"(?s)\n?.*?\n?"
+ content = re.sub(old_static_pattern, "\n", content)
+
+ pattern = rf"(?s){re.escape(START)}.*?{re.escape(END)}"
+ if re.search(pattern, content):
+ updated = re.sub(pattern, section, content)
+ else:
+ heading = re.compile(r"(?m)^## 📥")
+ if heading.search(content):
+ updated = heading.sub(section + "\n\n---\n\n## 📥", content, count=1)
+ else:
+ updated = content.rstrip() + "\n\n" + section + "\n"
+
+ updated = re.sub(r"(?m)(?:^---\n\s*){2,}(?=)", "---\n\n", updated)
+ README.write_text(updated.rstrip() + "\n", encoding="utf-8", newline="\n")
+
+
+def main() -> int:
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ "--sync-targets",
+ action="store_true",
+ help="Append discovered implemented operators to scripts/operator_targets.txt.",
+ )
+ args = parser.parse_args()
+
+ implemented = discover_implemented()
+ targets = read_targets()
+
+ if args.sync_targets:
+ by_key = {normalize_key(target): target for target in targets}
+ for key, item in implemented.items():
+ by_key.setdefault(key, str(item["name"]))
+ targets = sorted(by_key.values(), key=str.casefold)
+ write_targets(targets)
+
+ section = build_section(targets, implemented)
+ update_readme(section)
+
+ print(
+ f"Updated README operator checklist: "
+ f"{len(implemented)} implemented operators, {len(targets)} tracked targets."
+ )
+ return 0
+
+
+if __name__ == "__main__":
+ raise SystemExit(main())
--
2.34.1
From 5dcbd90d821b6e695c33e5acd14b03989e264f7e Mon Sep 17 00:00:00 2001
From: YuxuanFan <2961852394@qq.com>
Date: Sun, 26 Apr 2026 01:56:32 -0700
Subject: [PATCH 2/2] Add GEGLU operator sample
---
README.md | 5 +-
S1 codes/geglu_sample/geglu_cuda.py | 89 ++++++++++++++++++++++++++++
S1 codes/geglu_sample/geglu_torch.py | 25 ++++++++
S1 codes/geglu_sample/prompt.txt | 15 +++++
S1 codes/geglu_sample/run_code.py | 67 +++++++++++++++++++++
scripts/operator_targets.txt | 1 +
6 files changed, 200 insertions(+), 2 deletions(-)
create mode 100644 S1 codes/geglu_sample/geglu_cuda.py
create mode 100644 S1 codes/geglu_sample/geglu_torch.py
create mode 100644 S1 codes/geglu_sample/prompt.txt
create mode 100644 S1 codes/geglu_sample/run_code.py
diff --git a/README.md b/README.md
index 4785a3b..417fbd1 100644
--- a/README.md
+++ b/README.md
@@ -29,9 +29,9 @@
该清单由 `scripts/update_operator_checklist.py` 根据 `scripts/operator_targets.txt` 和 `S1 codes/` 自动生成;新增待实现算子请写入目标清单,新增实现目录后运行 `python scripts/update_operator_checklist.py --sync-targets` 即可自动勾选。
-- 已实现:577
+- 已实现:578
- 未实现:0
-- 跟踪总数:577
+- 跟踪总数:578
展开查看算子实现状态
@@ -231,6 +231,7 @@
| [x] | gaussian_pdf | [ZZZJ_#120](S1%20codes/ZZZJ_%23120) |
| [x] | GaussianNLLLoss | [hli28146_#113](S1%20codes/hli28146_%23113)
[uucoco 31](S1%20codes/uucoco%2031)
[uucoco_#1](S1%20codes/uucoco_%231) |
| [x] | GDL | [hli28146_#55](S1%20codes/hli28146_%2355) |
+| [x] | geglu | [geglu_sample](S1%20codes/geglu_sample) |
| [x] | GELU-Affine-Gate | [Ljy123_#94](S1%20codes/Ljy123_%2394) |
| [x] | gelu_dropout | [Ljy123_#3](S1%20codes/Ljy123_%233) |
| [x] | gempool | [hli28146_#12](S1%20codes/hli28146_%2312) |
diff --git a/S1 codes/geglu_sample/geglu_cuda.py b/S1 codes/geglu_sample/geglu_cuda.py
new file mode 100644
index 0000000..51412ab
--- /dev/null
+++ b/S1 codes/geglu_sample/geglu_cuda.py
@@ -0,0 +1,89 @@
+import torch
+import torch.nn as nn
+from torch.utils.cpp_extension import load_inline
+
+
+class ModelNew(nn.Module):
+ def __init__(self):
+ super().__init__()
+ self.op = load_inline(
+ name="geglu_fused_tanh_v1",
+ cpp_sources="""
+ #include
+ torch::Tensor geglu_cuda(torch::Tensor input);
+ """,
+ cuda_sources="""
+ #include
+ #include
+
+ __device__ __forceinline__ float gelu_tanh(float x) {
+ const float kAlpha = 0.7978845608028654f;
+ const float kBeta = 0.044715f;
+ float x3 = x * x * x;
+ float inner = kAlpha * (x + kBeta * x3);
+ return 0.5f * x * (1.0f + tanhf(inner));
+ }
+
+ __global__ void geglu_kernel(
+ const float* __restrict__ input,
+ float* __restrict__ output,
+ long long output_numel,
+ int hidden,
+ int input_last_dim
+ ) {
+ long long idx = blockIdx.x * blockDim.x + threadIdx.x;
+ long long stride = (long long)blockDim.x * gridDim.x;
+
+ for (long long i = idx; i < output_numel; i += stride) {
+ int col = i % hidden;
+ long long row = i / hidden;
+ long long base = row * input_last_dim + col;
+ float value = input[base];
+ float gate = input[base + hidden];
+ output[i] = value * gelu_tanh(gate);
+ }
+ }
+
+ torch::Tensor geglu_cuda(torch::Tensor input) {
+ TORCH_CHECK(input.is_cuda(), "input must be a CUDA tensor");
+ TORCH_CHECK(input.scalar_type() == torch::kFloat32, "input must be float32");
+ TORCH_CHECK(input.dim() >= 1, "input must have at least one dimension");
+
+ auto x = input.contiguous();
+ int input_last_dim = x.size(-1);
+ TORCH_CHECK(input_last_dim % 2 == 0, "last dimension must be even for GEGLU");
+
+ int hidden = input_last_dim / 2;
+ auto out_sizes = x.sizes().vec();
+ out_sizes.back() = hidden;
+ auto output = torch::empty(out_sizes, x.options());
+
+ long long output_numel = output.numel();
+ if (output_numel == 0) {
+ return output;
+ }
+
+ int threads = 256;
+ int blocks = (int)((output_numel + threads - 1) / threads);
+ if (blocks > 65535) {
+ blocks = 65535;
+ }
+
+ geglu_kernel<<>>(
+ x.data_ptr(),
+ output.data_ptr(),
+ output_numel,
+ hidden,
+ input_last_dim
+ );
+
+ return output;
+ }
+ """,
+ functions=["geglu_cuda"],
+ extra_cuda_cflags=["-O3", "--use_fast_math"],
+ verbose=False,
+ )
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ return self.op.geglu_cuda(x)
diff --git a/S1 codes/geglu_sample/geglu_torch.py b/S1 codes/geglu_sample/geglu_torch.py
new file mode 100644
index 0000000..68641fe
--- /dev/null
+++ b/S1 codes/geglu_sample/geglu_torch.py
@@ -0,0 +1,25 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+
+class Model(nn.Module):
+ def __init__(self):
+ super().__init__()
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ value, gate = x.chunk(2, dim=-1)
+ return value * F.gelu(gate, approximate="tanh")
+
+
+batch_size = 2048
+feature_dim = 4096
+
+
+def get_inputs():
+ x = torch.randn(batch_size, feature_dim, dtype=torch.float32) * 3.0
+ return [x]
+
+
+def get_init_inputs():
+ return []
diff --git a/S1 codes/geglu_sample/prompt.txt b/S1 codes/geglu_sample/prompt.txt
new file mode 100644
index 0000000..547fb35
--- /dev/null
+++ b/S1 codes/geglu_sample/prompt.txt
@@ -0,0 +1,15 @@
+Operator: GEGLU
+
+Implement a fused CUDA kernel for the GEGLU activation used in Transformer MLP blocks.
+
+Reference PyTorch behavior:
+
+```python
+value, gate = x.chunk(2, dim=-1)
+y = value * torch.nn.functional.gelu(gate, approximate="tanh")
+```
+
+The input is a contiguous or non-contiguous float32 CUDA tensor whose last
+dimension is even. The output keeps the same leading dimensions and halves the
+last dimension. The CUDA implementation should fuse the chunk, tanh-approx GELU,
+and elementwise multiply into a single pass over output elements.
diff --git a/S1 codes/geglu_sample/run_code.py b/S1 codes/geglu_sample/run_code.py
new file mode 100644
index 0000000..95e4a4b
--- /dev/null
+++ b/S1 codes/geglu_sample/run_code.py
@@ -0,0 +1,67 @@
+import time
+
+import torch
+
+from geglu_cuda import ModelNew
+from geglu_torch import Model, get_init_inputs, get_inputs
+
+
+def _to_cuda(values):
+ return [x.cuda() if isinstance(x, torch.Tensor) else x for x in values]
+
+
+def run_benchmark():
+ if not torch.cuda.is_available():
+ print("CUDA is not available.")
+ return False, 0.0
+
+ init_inputs = _to_cuda(get_init_inputs())
+ inputs = _to_cuda(get_inputs())
+
+ torch_model = Model(*init_inputs).cuda().eval()
+ cuda_model = ModelNew(*init_inputs).cuda().eval()
+
+ with torch.no_grad():
+ output_torch = torch_model(*inputs)
+ output_cuda = cuda_model(*inputs)
+
+ max_diff = (output_torch - output_cuda).abs().max().item()
+ mean_diff = (output_torch - output_cuda).abs().mean().item()
+ precision_flag = torch.allclose(output_torch, output_cuda, rtol=1e-4, atol=1e-4)
+
+ print("-------------------- precision check --------------------")
+ print(f"max diff: {max_diff:.8f}")
+ print(f"mean diff: {mean_diff:.8f}")
+ print(f"allclose: {precision_flag}")
+
+ for _ in range(20):
+ torch_model(*inputs)
+ cuda_model(*inputs)
+
+ num_iterations = 200
+
+ torch.cuda.synchronize()
+ start = time.time()
+ for _ in range(num_iterations):
+ torch_model(*inputs)
+ torch.cuda.synchronize()
+ torch_time = (time.time() - start) / num_iterations
+
+ torch.cuda.synchronize()
+ start = time.time()
+ for _ in range(num_iterations):
+ cuda_model(*inputs)
+ torch.cuda.synchronize()
+ cuda_time = (time.time() - start) / num_iterations
+
+ speedup = torch_time / cuda_time if cuda_time > 0 else 0.0
+ print("-------------------- performance check --------------------")
+ print(f"PyTorch GEGLU average time: {torch_time:.6f} s")
+ print(f"Custom CUDA GEGLU average time: {cuda_time:.6f} s")
+ print(f"Speedup: {speedup:.2f}x")
+
+ return precision_flag, speedup
+
+
+if __name__ == "__main__":
+ run_benchmark()
diff --git a/scripts/operator_targets.txt b/scripts/operator_targets.txt
index 44e89c9..55a7f01 100644
--- a/scripts/operator_targets.txt
+++ b/scripts/operator_targets.txt
@@ -195,6 +195,7 @@ gaussian_filter_2d
gaussian_pdf
GaussianNLLLoss
GDL
+geglu
GELU-Affine-Gate
gelu_dropout
gempool
--
2.34.1