-
Notifications
You must be signed in to change notification settings - Fork 493
Expand file tree
/
Copy path__init__.py
More file actions
1664 lines (1661 loc) · 51.2 KB
/
Copy path__init__.py
File metadata and controls
1664 lines (1661 loc) · 51.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Copyright 2026 FlagOS Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from flag_gems.ops.__ilshift__ import __ilshift__
from flag_gems.ops.__irshift__ import __irshift__
from flag_gems.ops.__lshift__ import __lshift__
from flag_gems.ops.__xor__ import ( # noqa: F401
xor,
xor_,
xor_scalar,
xor_scalar_,
xor_scalar_tensor,
)
from flag_gems.ops._adaptive_avg_pool2d_backward import _adaptive_avg_pool2d_backward
from flag_gems.ops._add_relu import _add_relu
from flag_gems.ops._amp_foreach_non_finite_check_and_unscale_ import (
_amp_foreach_non_finite_check_and_unscale_,
)
from flag_gems.ops._batch_norm_no_update import _batch_norm_no_update
from flag_gems.ops._chunk_cat import chunk_cat as _chunk_cat
from flag_gems.ops._conj import _conj
from flag_gems.ops._convert_weight_to_int4pack import _convert_weight_to_int4pack
from flag_gems.ops._dyn_quant_pack_4bit_weight import _dyn_quant_pack_4bit_weight
from flag_gems.ops._embedding_bag_dense_backward import _embedding_bag_dense_backward
from flag_gems.ops._embedding_bag_per_sample_weights_backward import (
_embedding_bag_per_sample_weights_backward,
)
from flag_gems.ops._euclidean_dist import _euclidean_dist
from flag_gems.ops._flash_attention_forward import _flash_attention_forward
from flag_gems.ops._functional_sym_constrain_range import (
_functional_sym_constrain_range,
)
from flag_gems.ops._functional_sym_constrain_range_for_size import (
_functional_sym_constrain_range_for_size,
)
from flag_gems.ops._fused_adam import _fused_adam, _fused_adam_
from flag_gems.ops._fused_rms_norm import (
_fused_rms_norm,
_fused_rms_norm_backward,
_fused_rms_norm_forward,
)
from flag_gems.ops._has_compatible_shallow_copy_type import (
_has_compatible_shallow_copy_type,
)
from flag_gems.ops._is_all_true import _is_all_true
from flag_gems.ops._jagged_to_padded_dense_forward import (
_jagged_to_padded_dense_forward,
)
from flag_gems.ops._linalg_eigvals import _linalg_eigvals
from flag_gems.ops._make_dep_token import _make_dep_token
from flag_gems.ops._masked_scale import _masked_scale
from flag_gems.ops._native_batch_norm_legit_functional import (
_native_batch_norm_legit_functional,
)
from flag_gems.ops._nested_view_from_buffer_copy import _nested_view_from_buffer_copy
from flag_gems.ops._pdist_backward import _pdist_backward
from flag_gems.ops._pdist_forward import _pdist_forward
from flag_gems.ops._prelu_kernel import _prelu_kernel
from flag_gems.ops._prelu_kernel_backward import _prelu_kernel_backward
from flag_gems.ops._reshape_alias import _reshape_alias
from flag_gems.ops._resize_output import _resize_output
from flag_gems.ops._safe_softmax import _safe_softmax
from flag_gems.ops._scaled_dot_product_flash_attention import (
_scaled_dot_product_flash_attention,
)
from flag_gems.ops._scaled_dot_product_fused_attention_overrideable import (
_scaled_dot_product_fused_attention_overrideable,
)
from flag_gems.ops._sparse_semi_structured_mm import _sparse_semi_structured_mm
from flag_gems.ops._thnn_fused_lstm_cell import _thnn_fused_lstm_cell
from flag_gems.ops._thnn_fused_lstm_cell_backward_impl import (
_thnn_fused_lstm_cell_backward_impl,
)
from flag_gems.ops._unsafe_masked_index import _unsafe_masked_index
from flag_gems.ops._unsafe_masked_index_put_accumulate import (
_unsafe_masked_index_put_accumulate,
)
from flag_gems.ops._unsafe_view import _unsafe_view
from flag_gems.ops._upsample_bilinear2d_aa import _upsample_bilinear2d_aa
from flag_gems.ops._upsample_nearest_exact1d import _upsample_nearest_exact1d
from flag_gems.ops._upsample_nearest_exact2d import _upsample_nearest_exact2d
from flag_gems.ops._upsample_nearest_exact2d_backward import (
_upsample_nearest_exact2d_backward,
)
from flag_gems.ops._upsample_nearest_exact3d import _upsample_nearest_exact3d
from flag_gems.ops._weight_int4pack_mm_with_scales_and_zeros import (
_weight_int4pack_mm_with_scales_and_zeros,
)
from flag_gems.ops._weight_norm import _weight_norm
from flag_gems.ops.abs import abs, abs_
from flag_gems.ops.absolute import absolute
from flag_gems.ops.acos import acos
from flag_gems.ops.acosh import acosh, acosh_
from flag_gems.ops.adaptive_avg_pool2d import adaptive_avg_pool2d
from flag_gems.ops.adaptive_max_pool2d_backward import adaptive_max_pool2d_backward
from flag_gems.ops.adaptive_max_pool3d_backward import adaptive_max_pool3d_backward
from flag_gems.ops.add import add, add_
from flag_gems.ops.addbmm import addbmm
from flag_gems.ops.addcdiv import addcdiv, addcdiv_, addcdiv_out
from flag_gems.ops.addcmul import addcmul, addcmul_, addcmul_out
from flag_gems.ops.addmm import addmm, addmm_dtype, addmm_dtype_out, addmm_out
from flag_gems.ops.addmm_ import addmm_
from flag_gems.ops.addmv import addmv, addmv_out
from flag_gems.ops.addr import addr
from flag_gems.ops.affine_grid_generator import affine_grid_generator
from flag_gems.ops.alias import alias
from flag_gems.ops.alias_copy import alias_copy, alias_copy_out
from flag_gems.ops.all import all, all_dim, all_dims
from flag_gems.ops.alpha_dropout import alpha_dropout
from flag_gems.ops.amax import amax
from flag_gems.ops.amin import amin, amin_
from flag_gems.ops.aminmax import aminmax
from flag_gems.ops.angle import angle
from flag_gems.ops.any import any, any_dim, any_dims
from flag_gems.ops.arange import arange, arange_start
from flag_gems.ops.arccos import arccos, arccos_
from flag_gems.ops.arccosh import arccosh, arccosh_out
from flag_gems.ops.arccosh_ import arccosh_
from flag_gems.ops.arcsin import arcsin, arcsin_, arcsin_out
from flag_gems.ops.arcsinh import arcsinh, arcsinh_out
from flag_gems.ops.arcsinh_ import arcsinh_
from flag_gems.ops.arctan2 import arctan2, arctan2_
from flag_gems.ops.arctan_ import arctan, arctan_
from flag_gems.ops.arctanh_ import arctanh_
from flag_gems.ops.argmax import argmax
from flag_gems.ops.argmin import argmin
from flag_gems.ops.argsort import argsort
from flag_gems.ops.as_strided_copy import as_strided_copy, as_strided_copy_out
from flag_gems.ops.asin import asin, asin_
from flag_gems.ops.asinh import asinh, asinh_out
from flag_gems.ops.asinh_ import asinh_
from flag_gems.ops.assert_async import _assert_async
from flag_gems.ops.atan import atan, atan_
from flag_gems.ops.atan2 import atan2, atan2_out
from flag_gems.ops.atan2_ import atan2_
from flag_gems.ops.atanh import atanh, atanh_
from flag_gems.ops.attention import (
ScaleDotProductAttention,
flash_attention_forward,
flash_attn_varlen_func,
flash_attn_varlen_opt_func,
scaled_dot_product_attention,
scaled_dot_product_attention_backward,
scaled_dot_product_attention_forward,
)
from flag_gems.ops.avg_pool2d import avg_pool2d, avg_pool2d_backward
from flag_gems.ops.avg_pool3d import avg_pool3d, avg_pool3d_backward
from flag_gems.ops.baddbmm import baddbmm, baddbmm_out
from flag_gems.ops.baddbmm_ import baddbmm_
from flag_gems.ops.batch_norm import batch_norm, batch_norm_backward
from flag_gems.ops.bernoulli import bernoulli
from flag_gems.ops.bernoulli_ import bernoulli_
from flag_gems.ops.binary_cross_entropy_backward import binary_cross_entropy_backward
from flag_gems.ops.binary_cross_entropy_with_logits import (
binary_cross_entropy_with_logits,
)
from flag_gems.ops.bincount import bincount
from flag_gems.ops.bitwise_and import (
bitwise_and_scalar,
bitwise_and_scalar_,
bitwise_and_scalar_tensor,
bitwise_and_tensor,
bitwise_and_tensor_,
)
from flag_gems.ops.bitwise_left_shift import bitwise_left_shift, bitwise_left_shift_
from flag_gems.ops.bitwise_not import bitwise_not, bitwise_not_
from flag_gems.ops.bitwise_or import (
bitwise_or_scalar,
bitwise_or_scalar_,
bitwise_or_scalar_tensor,
bitwise_or_tensor,
bitwise_or_tensor_,
)
from flag_gems.ops.bitwise_right_shift import bitwise_right_shift, bitwise_right_shift_
from flag_gems.ops.bitwise_xor import (
bitwise_xor_scalar,
bitwise_xor_scalar_,
bitwise_xor_scalar_tensor,
bitwise_xor_tensor,
bitwise_xor_tensor_,
)
from flag_gems.ops.block_diag import block_diag
from flag_gems.ops.bmm import bmm, bmm_out
from flag_gems.ops.broadcast_tensors import broadcast_tensors
from flag_gems.ops.broadcast_to import broadcast_to
from flag_gems.ops.bucketize import bucketize
from flag_gems.ops.cat import cat, cat_out
from flag_gems.ops.cauchy import cauchy, cauchy_
from flag_gems.ops.cdist import _cdist_backward, _cdist_forward
from flag_gems.ops.ceil import ceil, ceil_, ceil_out
from flag_gems.ops.celu import celu, celu_
from flag_gems.ops.channel_shuffle import channel_shuffle
from flag_gems.ops.cholesky_inverse import cholesky_inverse
from flag_gems.ops.cholesky_solve import cholesky_solve, cholesky_solve_out
from flag_gems.ops.chunk import chunk
from flag_gems.ops.clamp import (
clamp,
clamp_,
clamp_min,
clamp_min_,
clamp_tensor,
clamp_tensor_,
)
from flag_gems.ops.clamp_max import clamp_max, clamp_max_ # noqa: F401
from flag_gems.ops.clip import clip, clip_
from flag_gems.ops.col2im import col2im
from flag_gems.ops.concat import concat
from flag_gems.ops.concatenate import concatenate
from flag_gems.ops.conj_physical import conj_physical
from flag_gems.ops.contiguous import contiguous
from flag_gems.ops.conv1d import conv1d
from flag_gems.ops.conv2d import conv2d
from flag_gems.ops.conv3d import conv3d
from flag_gems.ops.conv_depthwise2d import _conv_depthwise2d
from flag_gems.ops.conv_transpose1d import conv_transpose1d
from flag_gems.ops.conv_transpose2d import conv_transpose2d
from flag_gems.ops.copy import copy, copy_
from flag_gems.ops.copysign import copysign, copysign_out
from flag_gems.ops.copysign_ import copysign_
from flag_gems.ops.cos import cos, cos_
from flag_gems.ops.cosh import cosh, cosh_, cosh_out
from flag_gems.ops.count_nonzero import count_nonzero
from flag_gems.ops.ctc_loss import ctc_loss
from flag_gems.ops.cudnn_attention_forward import cudnn_attention_forward
from flag_gems.ops.cudnn_batch_norm_backward import cudnn_batch_norm_backward
from flag_gems.ops.cudnn_convolution import cudnn_convolution
from flag_gems.ops.cummax import cummax
from flag_gems.ops.cummin import cummin
from flag_gems.ops.cumprod import cumprod, cumprod_
from flag_gems.ops.cumsum import cumsum, cumsum_out, normed_cumsum
from flag_gems.ops.deg2rad import deg2rad, deg2rad_, deg2rad_out
from flag_gems.ops.dequantize import dequantize
from flag_gems.ops.diag import diag
from flag_gems.ops.diag_embed import diag_embed
from flag_gems.ops.diagonal import diagonal_backward
from flag_gems.ops.diagonal_copy import diagonal_copy
from flag_gems.ops.diagonal_scatter import diagonal_scatter
from flag_gems.ops.diff import diff
from flag_gems.ops.digamma_ import digamma, digamma_
from flag_gems.ops.div import (
div_mode,
div_mode_,
floor_divide,
floor_divide_,
true_divide,
true_divide_,
true_divide_out,
)
from flag_gems.ops.dot import dot
from flag_gems.ops.dropout import dropout, dropout_backward
from flag_gems.ops.dsplit import dsplit
from flag_gems.ops.elu import elu, elu_, elu_backward
from flag_gems.ops.embedding import embedding, embedding_backward
from flag_gems.ops.embedding_dense_backward import embedding_dense_backward
from flag_gems.ops.empty import empty
from flag_gems.ops.eq import eq, eq_scalar, equal
from flag_gems.ops.eq_ import eq_, eq_scalar_
from flag_gems.ops.erf import erf, erf_
from flag_gems.ops.erfinv_ import erfinv, erfinv_
from flag_gems.ops.exp import exp, exp_, exp_out
from flag_gems.ops.exp2 import exp2, exp2_
from flag_gems.ops.expand import expand, expand_
from flag_gems.ops.expand_as import expand_as
from flag_gems.ops.expm1 import expm1, expm1_, expm1_out
from flag_gems.ops.exponential_ import exponential_
from flag_gems.ops.eye import eye
from flag_gems.ops.eye_m import eye_m
from flag_gems.ops.feature_dropout import feature_dropout, feature_dropout_
from flag_gems.ops.fft import fft
from flag_gems.ops.fill import (
fill_scalar,
fill_scalar_,
fill_scalar_out,
fill_tensor,
fill_tensor_,
fill_tensor_out,
)
from flag_gems.ops.fix import fix
from flag_gems.ops.fix_ import fix_
from flag_gems.ops.flash_attention_backward import (
efficient_attention_backward,
flash_attention_backward,
scaled_dot_product_cudnn_attention_backward,
scaled_dot_product_efficient_attention_backward,
scaled_dot_product_flash_attention_backward,
)
from flag_gems.ops.flatten import flatten
from flag_gems.ops.flip import flip
from flag_gems.ops.float_power_ import (
float_power_tensor_scalar,
float_power_tensor_scalar_,
float_power_tensor_tensor,
float_power_tensor_tensor_,
)
from flag_gems.ops.floor import floor, floor_out
from flag_gems.ops.floor_ import floor_
from flag_gems.ops.fmax import fmax, fmax_out
from flag_gems.ops.fmin import fmin, fmin_out
from flag_gems.ops.fmod import fmod_scalar, fmod_scalar_, fmod_tensor, fmod_tensor_
from flag_gems.ops.fmod_ import fmod_
from flag_gems.ops.fp8_matmul import fp8_matmul
from flag_gems.ops.fp8_mqa_logits import fp8_mqa_logits
from flag_gems.ops.fp8_paged_mqa_logits import fp8_paged_mqa_logits
from flag_gems.ops.frac_ import frac, frac_
from flag_gems.ops.fractional_max_pool2d import (
fractional_max_pool2d,
fractional_max_pool2d_backward,
)
from flag_gems.ops.full import full
from flag_gems.ops.full_like import full_like
from flag_gems.ops.functional_assert_async import _functional_assert_async
from flag_gems.ops.gather import gather, gather_backward
from flag_gems.ops.gather_block_quantized import gather_block_quantized
from flag_gems.ops.gcd import gcd, gcd_out
from flag_gems.ops.gcd_ import gcd_ # noqa: F401
from flag_gems.ops.ge import ge, ge_scalar
from flag_gems.ops.gelu import gelu, gelu_, gelu_backward
from flag_gems.ops.geometric import geometric, geometric_
from flag_gems.ops.get_paged_mqa_logits_metadata import get_paged_mqa_logits_metadata
from flag_gems.ops.get_scheduler_metadata import get_scheduler_metadata
from flag_gems.ops.glu import glu, glu_backward
from flag_gems.ops.greater import (
greater,
greater_out,
greater_scalar,
greater_scalar_out,
)
from flag_gems.ops.greater_equal import greater_equal_
from flag_gems.ops.grid_sample import grid_sample
from flag_gems.ops.group_gemm import group_mm
from flag_gems.ops.groupnorm import group_norm, group_norm_backward
from flag_gems.ops.gt import gt, gt_scalar, gt_scalar_, gt_tensor_
from flag_gems.ops.hadamard_transform import (
hadamard_transform,
hadamard_transform_12N,
hadamard_transform_20N,
hadamard_transform_28N,
hadamard_transform_40N,
)
from flag_gems.ops.hardshrink import hardshrink, hardshrink_out
from flag_gems.ops.hardsigmoid import hardsigmoid, hardsigmoid_out
from flag_gems.ops.hardsigmoid_ import hardsigmoid_
from flag_gems.ops.hardswish_ import hardswish_
from flag_gems.ops.hardtanh_ import hardtanh_
from flag_gems.ops.heaviside_ import heaviside_
from flag_gems.ops.histc import histc
from flag_gems.ops.hstack import hstack
from flag_gems.ops.huber_loss import huber_loss, huber_loss_out
from flag_gems.ops.hypot import hypot, hypot_out
from flag_gems.ops.hypot_ import hypot_
from flag_gems.ops.i0 import i0, i0_out
from flag_gems.ops.i0_ import i0_
from flag_gems.ops.igamma_ import igamma_
from flag_gems.ops.igammac import igammac, igammac_out
from flag_gems.ops.igammac_ import igammac_
from flag_gems.ops.im2col import im2col
from flag_gems.ops.index import index
from flag_gems.ops.index_add import index_add, index_add_
from flag_gems.ops.index_copy_ import index_copy, index_copy_
from flag_gems.ops.index_put import _index_put_impl_, index_put, index_put_
from flag_gems.ops.index_reduce import index_reduce_
from flag_gems.ops.index_select import index_select
from flag_gems.ops.index_select_backward import index_select_backward
from flag_gems.ops.is_nonzero import is_nonzero
from flag_gems.ops.isclose import allclose, isclose
from flag_gems.ops.isfinite import isfinite
from flag_gems.ops.isin import isin
from flag_gems.ops.isinf import isinf
from flag_gems.ops.isnan import isnan
from flag_gems.ops.isneginf import isneginf, isneginf_out
from flag_gems.ops.isposinf import isposinf
from flag_gems.ops.kron import kron
from flag_gems.ops.kthvalue import kthvalue
from flag_gems.ops.layernorm import layer_norm, layer_norm_backward
from flag_gems.ops.lcm import lcm, lcm_
from flag_gems.ops.ldl_factor_ex import ldl_factor_ex
from flag_gems.ops.le import le, le_scalar
from flag_gems.ops.le_ import le_, le_scalar_
from flag_gems.ops.leaky_relu import leaky_relu, leaky_relu_, leaky_relu_out
from flag_gems.ops.lerp import lerp_scalar, lerp_scalar_, lerp_tensor, lerp_tensor_
from flag_gems.ops.less_ import less_, less_scalar_
from flag_gems.ops.less_equal import less_equal, less_equal_scalar
from flag_gems.ops.less_equal_ import less_equal_, less_equal_scalar_
from flag_gems.ops.lgamma_ import lgamma, lgamma_
from flag_gems.ops.lift import lift, lift_out
from flag_gems.ops.lift_fresh import lift_fresh
from flag_gems.ops.lift_fresh_copy import lift_fresh_copy, lift_fresh_copy_out
from flag_gems.ops.linalg_cholesky import linalg_cholesky
from flag_gems.ops.linalg_ldl_factor import ldl_factor
from flag_gems.ops.linalg_ldl_solve import linalg_ldl_solve
from flag_gems.ops.linalg_lstsq import linalg_lstsq
from flag_gems.ops.linalg_lu_factor import linalg_lu_factor, linalg_lu_factor_out
from flag_gems.ops.linalg_lu_factor_ex import (
linalg_lu_factor_ex,
linalg_lu_factor_ex_out,
)
from flag_gems.ops.linalg_slogdet import linalg_slogdet
from flag_gems.ops.linalg_svdvals import linalg_svdvals
from flag_gems.ops.linear import linear
from flag_gems.ops.linear_backward import linear_backward
from flag_gems.ops.linspace import linspace
from flag_gems.ops.log import log
from flag_gems.ops.log1p import log1p, log1p_out
from flag_gems.ops.log1p_ import log1p_
from flag_gems.ops.log2 import log2, log2_
from flag_gems.ops.log10 import log10, log10_, log10_out
from flag_gems.ops.log_ import log_
from flag_gems.ops.log_normal_ import log_normal_
from flag_gems.ops.log_sigmoid import log_sigmoid
from flag_gems.ops.log_sigmoid_forward import log_sigmoid_forward
from flag_gems.ops.log_softmax import (
log_softmax,
log_softmax_backward,
log_softmax_backward_out,
log_softmax_out,
)
from flag_gems.ops.logaddexp import logaddexp, logaddexp_out
from flag_gems.ops.logaddexp2 import logaddexp2, logaddexp2_out
from flag_gems.ops.logcumsumexp import logcumsumexp, logcumsumexp_out
from flag_gems.ops.logical_and import logical_and, logical_and_
from flag_gems.ops.logical_not import logical_not, logical_not_
from flag_gems.ops.logical_or import logical_or, logical_or_
from flag_gems.ops.logical_xor import logical_xor
from flag_gems.ops.logical_xor_ import logical_xor_
from flag_gems.ops.logit import logit, logit_out
from flag_gems.ops.logit_ import logit_
from flag_gems.ops.logspace import logspace
from flag_gems.ops.logsumexp import logsumexp
from flag_gems.ops.lstm import lstm
from flag_gems.ops.lt import lt, lt_scalar
from flag_gems.ops.lt_ import lt_, lt_scalar_
from flag_gems.ops.lu_unpack import lu_unpack, lu_unpack_out
from flag_gems.ops.margin_ranking_loss import margin_ranking_loss
from flag_gems.ops.masked_fill import masked_fill, masked_fill_
from flag_gems.ops.masked_scatter import masked_scatter, masked_scatter_
from flag_gems.ops.masked_select import masked_select
from flag_gems.ops.max import max, max_dim
from flag_gems.ops.max_pool2d_with_indices import (
max_pool2d_backward,
max_pool2d_with_indices,
max_pool2d_with_indices_backward,
)
from flag_gems.ops.max_pool3d_with_indices import (
max_pool3d_backward,
max_pool3d_with_indices,
)
from flag_gems.ops.max_unpool2d import max_unpool2d
from flag_gems.ops.max_unpool3d import max_unpool3d
from flag_gems.ops.maximum import maximum
from flag_gems.ops.mean import mean, mean_dim
from flag_gems.ops.median import median, median_dim, median_dim_values, median_out
from flag_gems.ops.min import min, min_dim
from flag_gems.ops.minimum import minimum
from flag_gems.ops.miopen_batch_norm_backward import miopen_batch_norm_backward
from flag_gems.ops.mish import mish, mish_
from flag_gems.ops.mish_backward import mish_backward
from flag_gems.ops.mm import mm, mm_out, router_gemm
from flag_gems.ops.mode import mode
from flag_gems.ops.mse_loss import mse_loss
from flag_gems.ops.mse_loss_backward import mse_loss_backward
from flag_gems.ops.mul import mul, mul_
from flag_gems.ops.multinomial import multinomial
from flag_gems.ops.multiply import multiply
from flag_gems.ops.multiply_ import multiply_
from flag_gems.ops.mv import mv
from flag_gems.ops.mvlgamma import mvlgamma
from flag_gems.ops.mvlgamma_ import mvlgamma_
from flag_gems.ops.nan_to_num import nan_to_num
from flag_gems.ops.nan_to_num_ import nan_to_num_
from flag_gems.ops.nanmedian import (
nanmedian,
nanmedian_dim,
nanmedian_dim_values,
nanmedian_out,
)
from flag_gems.ops.nansum import nansum, nansum_out
from flag_gems.ops.narrow import narrow
from flag_gems.ops.narrow_copy import narrow_copy
from flag_gems.ops.native_layer_norm import native_layer_norm
from flag_gems.ops.ne import ne, ne_scalar
from flag_gems.ops.ne_ import ne_, ne_scalar_
from flag_gems.ops.neg import neg, neg_
from flag_gems.ops.negative import negative
from flag_gems.ops.negative_ import negative_
from flag_gems.ops.new_full import new_full
from flag_gems.ops.new_ones import new_ones
from flag_gems.ops.nextafter import nextafter, nextafter_
from flag_gems.ops.nll_loss_nd import nll_loss_nd_backward, nll_loss_nd_forward
from flag_gems.ops.nllloss import (
nll_loss2d_backward,
nll_loss2d_forward,
nll_loss_backward,
nll_loss_forward,
)
from flag_gems.ops.nonzero import nonzero
from flag_gems.ops.nonzero_numpy import nonzero_numpy
from flag_gems.ops.nonzero_static import nonzero_static, nonzero_static_out
from flag_gems.ops.norm import norm, norm_scalar, norm_scalaropt_dim
from flag_gems.ops.normal import (
normal_,
normal_float_tensor,
normal_tensor_float,
normal_tensor_tensor,
)
from flag_gems.ops.not_equal import not_equal, not_equal_scalar
from flag_gems.ops.not_equal_ import not_equal_, not_equal_scalar_
from flag_gems.ops.one_hot import one_hot
from flag_gems.ops.ones import ones
from flag_gems.ops.ones_like import ones_like
from flag_gems.ops.pad import constant_pad_nd, pad
from flag_gems.ops.pairwise_distance import pairwise_distance
from flag_gems.ops.pdist import pdist
from flag_gems.ops.per_token_group_quant_fp8 import (
SUPPORTED_FP8_DTYPE,
per_token_group_quant_fp8,
)
from flag_gems.ops.permute_copy import permute_copy
from flag_gems.ops.pixel_shuffle import pixel_shuffle
from flag_gems.ops.pixel_unshuffle import pixel_unshuffle, pixel_unshuffle_out
from flag_gems.ops.poisson import poisson
from flag_gems.ops.polar import polar
from flag_gems.ops.polygamma import polygamma, polygamma_, polygamma_out
from flag_gems.ops.pow import (
pow_scalar,
pow_tensor_scalar,
pow_tensor_scalar_,
pow_tensor_tensor,
pow_tensor_tensor_,
)
from flag_gems.ops.prelu import prelu
from flag_gems.ops.prod import prod, prod_dim
from flag_gems.ops.quantile import quantile
from flag_gems.ops.rad2deg import rad2deg, rad2deg_
from flag_gems.ops.rand import rand
from flag_gems.ops.rand_like import rand_like
from flag_gems.ops.randint import randint
from flag_gems.ops.randint_like import randint_like
from flag_gems.ops.randn import randn
from flag_gems.ops.randn_like import randn_like
from flag_gems.ops.randperm import randperm
from flag_gems.ops.range import range
from flag_gems.ops.reciprocal import reciprocal, reciprocal_
from flag_gems.ops.reflection_pad1d import reflection_pad1d, reflection_pad1d_out
from flag_gems.ops.reflection_pad1d_backward import reflection_pad1d_backward
from flag_gems.ops.reflection_pad2d import reflection_pad2d, reflection_pad2d_out
from flag_gems.ops.reflection_pad2d_backward import reflection_pad2d_backward
from flag_gems.ops.reflection_pad3d import reflection_pad3d, reflection_pad3d_out
from flag_gems.ops.reflection_pad3d_backward import reflection_pad3d_backward
from flag_gems.ops.relu import relu, relu_
from flag_gems.ops.relu6 import relu6
from flag_gems.ops.remainder import remainder, remainder_
from flag_gems.ops.renorm import renorm
from flag_gems.ops.renorm_ import renorm_
from flag_gems.ops.repeat import repeat
from flag_gems.ops.repeat_interleave import (
repeat_interleave_self_int,
repeat_interleave_self_tensor,
repeat_interleave_tensor,
)
from flag_gems.ops.replication_pad1d import replication_pad1d, replication_pad1d_out
from flag_gems.ops.replication_pad2d import replication_pad2d, replication_pad2d_out
from flag_gems.ops.replication_pad2d_backward import (
replication_pad2d_backward,
replication_pad2d_backward_grad_input,
)
from flag_gems.ops.replication_pad3d import replication_pad3d
from flag_gems.ops.replication_pad3d_backward import replication_pad3d_backward
from flag_gems.ops.resize import resize, resize_
from flag_gems.ops.resize_as import resize_as, resize_as_
from flag_gems.ops.resolve_conj import resolve_conj
from flag_gems.ops.resolve_neg import resolve_neg
from flag_gems.ops.rms_norm import rms_norm, rms_norm_backward, rms_norm_forward
from flag_gems.ops.rnn_relu import rnn_relu
from flag_gems.ops.roll import roll
from flag_gems.ops.rot90 import rot90
from flag_gems.ops.round import round, round_, round_out
from flag_gems.ops.rrelu_with_noise_backward import rrelu_with_noise_backward
from flag_gems.ops.rrelu_with_noise_functional import rrelu_with_noise_functional
from flag_gems.ops.rsqrt import rsqrt, rsqrt_
from flag_gems.ops.rsub import rsub_scalar, rsub_tensor
from flag_gems.ops.scalar_tensor import scalar_tensor
from flag_gems.ops.scaled_grouped_mm import scaled_grouped_mm
from flag_gems.ops.scaled_mm import scaled_mm, scaled_mm_out
from flag_gems.ops.scaled_softmax import scaled_softmax_backward, scaled_softmax_forward
from flag_gems.ops.scatter import scatter, scatter_
from flag_gems.ops.scatter_add import scatter_add, scatter_add_
from flag_gems.ops.scatter_reduce import (
scatter_reduce,
scatter_reduce_,
scatter_reduce_out,
)
from flag_gems.ops.searchsorted import (
searchsorted,
searchsorted_out,
searchsorted_scalar,
searchsorted_scalar_out,
)
from flag_gems.ops.segment_reduce import (
_segment_reduce_backward,
_segment_reduce_backward_out,
segment_reduce,
segment_reduce_out,
)
from flag_gems.ops.select_backward import select_backward
from flag_gems.ops.select_scatter import select_scatter
from flag_gems.ops.selu import selu
from flag_gems.ops.selu_ import selu_
from flag_gems.ops.sgn import sgn, sgn_out
from flag_gems.ops.sgn_ import sgn_
from flag_gems.ops.sigmoid import sigmoid, sigmoid_, sigmoid_backward
from flag_gems.ops.sign import sign, sign_out
from flag_gems.ops.signbit import signbit, signbit_out
from flag_gems.ops.silu import silu, silu_, silu_backward
from flag_gems.ops.sin import sin, sin_
from flag_gems.ops.sinc import sinc, sinc_
from flag_gems.ops.sinh import sinh, sinh_
from flag_gems.ops.slice_backward import slice_backward
from flag_gems.ops.slice_scatter import slice_scatter
from flag_gems.ops.smooth_l1_loss import (
smooth_l1_loss,
smooth_l1_loss_backward,
smooth_l1_loss_out,
)
from flag_gems.ops.soft_margin_loss import soft_margin_loss, soft_margin_loss_out
from flag_gems.ops.soft_margin_loss_backward import soft_margin_loss_backward
from flag_gems.ops.softmax import (
softmax,
softmax_backward,
softmax_backward_out,
softmax_out,
)
from flag_gems.ops.softplus import softplus, softplus_backward
from flag_gems.ops.softshrink import softshrink, softshrink_out
from flag_gems.ops.sort import sort, sort_stable
from flag_gems.ops.special_airy_ai import special_airy_ai, special_airy_ai_out
from flag_gems.ops.special_bessel_j0 import special_bessel_j0
from flag_gems.ops.special_bessel_j1 import special_bessel_j1
from flag_gems.ops.special_chebyshev_polynomial_u import special_chebyshev_polynomial_u
from flag_gems.ops.special_chebyshev_polynomial_v import special_chebyshev_polynomial_v
from flag_gems.ops.special_chebyshev_polynomial_w import (
special_chebyshev_polynomial_w,
special_chebyshev_polynomial_w_out,
)
from flag_gems.ops.special_digamma import special_digamma
from flag_gems.ops.special_erf import special_erf
# from flag_gems.ops.special_erfc import erfc, erfc_, special_erfc
from flag_gems.ops.special_erfcx import special_erfcx
from flag_gems.ops.special_erfinv import (
special_erfinv,
special_erfinv_,
special_erfinv_out,
)
from flag_gems.ops.special_exp2 import special_exp2
from flag_gems.ops.special_gammainc import special_gammainc
from flag_gems.ops.special_gammaln import special_gammaln, special_gammaln_out
from flag_gems.ops.special_hermite_polynomial_h import special_hermite_polynomial_h
from flag_gems.ops.special_i0e import special_i0e, special_i0e_out
from flag_gems.ops.special_i1 import special_i1, special_i1_out
from flag_gems.ops.special_i1e import special_i1e
from flag_gems.ops.special_legendre_polynomial_p import special_legendre_polynomial_p
from flag_gems.ops.special_log1p import special_log1p, special_log1p_out
from flag_gems.ops.special_log_softmax import special_log_softmax
from flag_gems.ops.special_logsumexp import special_logsumexp
from flag_gems.ops.special_modified_bessel_k0 import (
special_modified_bessel_k0,
special_modified_bessel_k0_out,
)
from flag_gems.ops.special_modified_bessel_k1 import (
special_modified_bessel_k1,
special_modified_bessel_k1_out,
)
from flag_gems.ops.special_round import special_round, special_round_out
from flag_gems.ops.special_scaled_modified_bessel_k1 import (
special_scaled_modified_bessel_k1,
special_scaled_modified_bessel_k1_out,
)
from flag_gems.ops.special_shifted_chebyshev_polynomial_u import (
special_shifted_chebyshev_polynomial_u,
special_shifted_chebyshev_polynomial_u_,
)
from flag_gems.ops.special_shifted_chebyshev_polynomial_v import (
special_shifted_chebyshev_polynomial_v,
)
from flag_gems.ops.special_shifted_chebyshev_polynomial_w import (
special_shifted_chebyshev_polynomial_w,
)
from flag_gems.ops.special_sinc import special_sinc
from flag_gems.ops.special_xlog1py import special_xlog1py
from flag_gems.ops.split_with_sizes_copy import split_with_sizes_copy
from flag_gems.ops.sqrt import sqrt, sqrt_
from flag_gems.ops.square import square, square_, square_out
from flag_gems.ops.squeeze_copy import squeeze_copy
from flag_gems.ops.stack import stack
from flag_gems.ops.std import std
from flag_gems.ops.sub import sub, sub_
from flag_gems.ops.subtract_ import subtract, subtract_
from flag_gems.ops.sum import sum, sum_dim, sum_dim_out, sum_out
from flag_gems.ops.svd import svd
from flag_gems.ops.sym_storage_offset import sym_storage_offset
from flag_gems.ops.sym_stride import sym_stride
from flag_gems.ops.t_copy import t_copy, t_copy_out
from flag_gems.ops.take import take, take_out
from flag_gems.ops.tan import tan, tan_
from flag_gems.ops.tanh import tanh, tanh_, tanh_backward
from flag_gems.ops.te_rmsnorm import te_rmsnorm_bwd, te_rmsnorm_fwd
from flag_gems.ops.tensor_split import tensor_split
from flag_gems.ops.threshold import threshold, threshold_backward
from flag_gems.ops.threshold_ import threshold_
from flag_gems.ops.tile import tile
from flag_gems.ops.to import to_copy
from flag_gems.ops.topk import topk
from flag_gems.ops.trace import trace
from flag_gems.ops.transpose import transpose
from flag_gems.ops.tril import tril, tril_, tril_out
from flag_gems.ops.triu import triu, triu_
from flag_gems.ops.trunc_ import trunc, trunc_
from flag_gems.ops.unbind import unbind
from flag_gems.ops.unbind_copy import unbind_copy
from flag_gems.ops.unfold import unfold
from flag_gems.ops.unfold_backward import unfold_backward
from flag_gems.ops.unfold_copy import unfold_copy
from flag_gems.ops.uniform import uniform_
from flag_gems.ops.unique import _unique2
from flag_gems.ops.unique_consecutive import unique_consecutive
from flag_gems.ops.unique_dim import unique_dim
from flag_gems.ops.unsafe_chunk import unsafe_chunk
from flag_gems.ops.unsqueeze import unsqueeze, unsqueeze_
from flag_gems.ops.upsample_bicubic2d import upsample_bicubic2d
from flag_gems.ops.upsample_bicubic2d_aa import _upsample_bicubic2d_aa
from flag_gems.ops.upsample_bicubic2d_aa_backward import _upsample_bicubic2d_aa_backward
from flag_gems.ops.upsample_linear1d import upsample_linear1d
from flag_gems.ops.upsample_linear1d_backward import upsample_linear1d_backward
from flag_gems.ops.upsample_nearest1d import upsample_nearest1d
from flag_gems.ops.upsample_nearest2d import upsample_nearest2d
from flag_gems.ops.upsample_nearest3d import upsample_nearest3d
from flag_gems.ops.upsample_trilinear3d import upsample_trilinear3d
from flag_gems.ops.var import var, var_correction, var_dim
from flag_gems.ops.var_mean import var_mean
from flag_gems.ops.vdot import vdot
from flag_gems.ops.vector_norm import vector_norm
from flag_gems.ops.view_copy import view_copy
from flag_gems.ops.vstack import vstack
from flag_gems.ops.w8a8_block_fp8_matmul import w8a8_block_fp8_matmul
from flag_gems.ops.weightnorm import (
weight_norm_interface,
weight_norm_interface_backward,
)
from flag_gems.ops.where import (
where_scalar_other,
where_scalar_self,
where_self,
where_self_out,
)
from flag_gems.ops.xlogy import (
xlogy,
xlogy_out,
xlogy_scalar_tensor,
xlogy_scalar_tensor_out,
xlogy_tensor_scalar,
xlogy_tensor_scalar_out,
)
from flag_gems.ops.xlogy_ import xlogy_, xlogy_tensor_scalar_
from flag_gems.ops.zero import zero, zero_out
from flag_gems.ops.zeros import zero_, zeros
from flag_gems.ops.zeros_like import zeros_like
__all__ = [
"SUPPORTED_FP8_DTYPE",
"ScaleDotProductAttention",
"__ilshift__",
"__irshift__",
"__lshift__",
"_adaptive_avg_pool2d_backward",
"_add_relu",
"_amp_foreach_non_finite_check_and_unscale_",
"_assert_async",
"_batch_norm_no_update",
"_functional_assert_async",
"_cdist_backward",
"_cdist_forward",
"_chunk_cat",
"_conj",
"_conv_depthwise2d",
"_convert_weight_to_int4pack",
"_dyn_quant_pack_4bit_weight",
"_embedding_bag_dense_backward",
"_embedding_bag_per_sample_weights_backward",
"_euclidean_dist",
"_flash_attention_forward",
"_functional_sym_constrain_range",
"_functional_sym_constrain_range_for_size",
"_fused_adam",
"_fused_adam_",
"_fused_rms_norm",
"_fused_rms_norm_backward",
"_fused_rms_norm_forward",
"_has_compatible_shallow_copy_type",
"_index_put_impl_",
"_is_all_true",
"_jagged_to_padded_dense_forward",
"_linalg_eigvals",
"_make_dep_token",
"_masked_scale",
"_native_batch_norm_legit_functional",
"_nested_view_from_buffer_copy",
"_pdist_backward",
"_pdist_forward",
"_prelu_kernel",
"_prelu_kernel_backward",
"_reshape_alias",
"_resize_output",
"_safe_softmax",
"_scaled_dot_product_flash_attention",
"_scaled_dot_product_fused_attention_overrideable",
"_segment_reduce_backward",
"_segment_reduce_backward_out",
"_sparse_semi_structured_mm",
"_thnn_fused_lstm_cell",
"_thnn_fused_lstm_cell_backward_impl",
"_unique2",
"_unsafe_masked_index",
"_unsafe_masked_index_put_accumulate",
"_unsafe_view",
"_upsample_bicubic2d_aa",
"_upsample_bicubic2d_aa_backward",
"_upsample_bilinear2d_aa",
"_upsample_nearest_exact1d",
"_upsample_nearest_exact2d",
"_upsample_nearest_exact2d_backward",
"_upsample_nearest_exact3d",
"_weight_int4pack_mm_with_scales_and_zeros",
"_weight_norm",
"abs",
"abs_",
"absolute",
"acos",
"acosh",
"acosh_",
"adaptive_avg_pool2d",
"adaptive_max_pool2d_backward",
"adaptive_max_pool3d_backward",
"add",
"add_",
"addbmm",
"addcdiv",
"addcdiv_",
"addcdiv_out",
"addcmul",
"addcmul_",
"addcmul_out",
"addmm",
"addmm_",
"addmm_dtype",
"addmm_dtype_out",
"addmm_out",
"addmv",
"addmv_out",
"addr",
"affine_grid_generator",
"alias",
"alias_copy",
"alias_copy_out",
"all",
"all_dim",
"all_dims",
"allclose",
"alpha_dropout",
"amax",
"amin",
"amin_",
"aminmax",
"angle",
"any",
"any_dim",
"any_dims",
"arange",
"arange_start",
"arccos",
"arccos_",
"arccosh",
"arccosh_",
"arccosh_out",
"arcsin",
"arcsin_",
"arcsin_out",
"arcsinh",
"arcsinh_",
"arcsinh_out",
"arctan",
"arctan2",
"arctan2_",
"arctan_",
"arctanh_",
"argmax",
"argmin",
"argsort",
"as_strided_copy",
"as_strided_copy_out",
"asin",
"asin_",
"asinh",
"asinh_",
"asinh_out",
"atan",
"atan2",
"atan2_out",
"atan2_",
"atan_",
"atanh",
"atanh_",
"avg_pool2d",
"avg_pool2d_backward",
"avg_pool3d",
"avg_pool3d_backward",
"baddbmm",
"baddbmm_",
"baddbmm_out",
"batch_norm",
"batch_norm_backward",
"bernoulli",
"bernoulli_",
"binary_cross_entropy_backward",
"binary_cross_entropy_with_logits",
"bincount",
"bitwise_and_scalar",
"bitwise_and_scalar_",
"bitwise_and_scalar_tensor",
"bitwise_and_tensor",
"bitwise_and_tensor_",
"bitwise_left_shift",
"bitwise_left_shift_",
"bitwise_not",
"bitwise_not_",
"bitwise_or_scalar",
"bitwise_or_scalar_",
"bitwise_or_scalar_tensor",
"bitwise_or_tensor",
"bitwise_or_tensor_",
"bitwise_right_shift",
"bitwise_right_shift_",
"bitwise_xor_scalar",
"bitwise_xor_scalar_",
"bitwise_xor_scalar_tensor",
"bitwise_xor_tensor",
"bitwise_xor_tensor_",
"block_diag",
"bmm",
"bmm_out",
"broadcast_tensors",
"broadcast_to",
"bucketize",
"cat",
"cat_out",
"cauchy",
"cauchy_",
"ceil",
"ceil_",
"ceil_out",
"celu",
"celu_",
"channel_shuffle",
"cholesky_inverse",
"cholesky_solve",
"cholesky_solve_out",
"chunk",
"clamp",
"clamp_",
"clamp_max",
"clamp_max_",
"clamp_min",
"clamp_min_",
"clamp_tensor",
"clamp_tensor_",
"clip",
"clip_",
"col2im",
"concat",
"concatenate",
"conj_physical",
"constant_pad_nd",
"contiguous",
"conv1d",
"conv2d",
"conv3d",
"conv_transpose1d",
"conv_transpose2d",
"copy",
"copy_",