forked from mlc-ai/notebooks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflashAttention_Backward.drawio
1305 lines (1305 loc) · 485 KB
/
flashAttention_Backward.drawio
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
<mxfile host="app.diagrams.net" modified="2023-08-16T06:37:34.897Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" etag="71ZT3xBgyPnkTWXy0lgN" version="21.3.6" type="github">
<diagram name="第 1 页" id="PJef4nOZp_Pi-idaibnx">
<mxGraphModel dx="1078" dy="537" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="1" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="UhCvBVR4pF60mXPPfr7d-114" value="scale_g = 16384.0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="60" y="2060" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="UhCvBVR4pF60mXPPfr7d-165" value="<font color="#ff0000">underflow_rate_max = 0.45</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="128.75" y="1745" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jtv76Chgc0MOjvgi08DV-2" target="Jtv76Chgc0MOjvgi08DV-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-2" value="\(S = Q * K^T \)<br><font color="#ff2600">&nbsp;scale_q * scale_k</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="240" y="960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jtv76Chgc0MOjvgi08DV-7" target="Jtv76Chgc0MOjvgi08DV-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-7" value="\( P = \frac{softmax(S)}{\sqrt{dim}}\)<br><font color="#ff2600">scale_p</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="240" y="1040" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-9" value="<font color="#9929bd">unscale S with <br>scale_q and scale_k</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="310" y="1000" width="130" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-11" target="Jtv76Chgc0MOjvgi08DV-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-11" value="\(Q\)<br><font color="#ff2600">scale_q</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="80" y="920" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-12" target="Jtv76Chgc0MOjvgi08DV-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-12" value="\(K\)<br><font color="#ff2600">scale_k</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="80" y="1000" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-17" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jtv76Chgc0MOjvgi08DV-18" target="Jtv76Chgc0MOjvgi08DV-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-18" value="\(dO\)<br><font color="#ff0000">scale_g</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="480" y="960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-19" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jtv76Chgc0MOjvgi08DV-20" target="Jtv76Chgc0MOjvgi08DV-21" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-20" value="\(O\)<br><font color="#ff2600">scale_v</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="640" y="960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-21" target="Jtv76Chgc0MOjvgi08DV-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-21" value="\(D = rowsum(dO \circ O)\)<br><font color="#ff2600">scale_v * scale_g</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="632.5" y="1040" width="135" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-22" target="Jtv76Chgc0MOjvgi08DV-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-22" value="\(dP = dO * V^T\)<br><font color="#ff2600">scale_v * scale_g</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="480" y="1040" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-23" target="Jtv76Chgc0MOjvgi08DV-27" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-23" target="Jtv76Chgc0MOjvgi08DV-29" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-23" value="\(dS = P \circ (dP - D)\)<br><font color="#ff0000">scale_p * scale_g * scale_v</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="340" y="1120" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-34" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Jtv76Chgc0MOjvgi08DV-27" target="Jtv76Chgc0MOjvgi08DV-31" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-27" value="\(dS * K\)<br>&nbsp;<font color="#ff2600">scale_p * scale_g * scale_v * scale_k</font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="280" y="1200" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Jtv76Chgc0MOjvgi08DV-29" target="Jtv76Chgc0MOjvgi08DV-32" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-29" value="\(dS^T * Q\)<br><font color="#ff2600">scale_p * scale_g &nbsp; &nbsp; &nbsp;scale_v * scale_q</font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="440" y="1200" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-31" value="\(dQ\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="280" y="1320" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-32" value="\(dK\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="440" y="1320" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-35" value="<font color="#9929bd">unscale dQ with <br>&nbsp;scale_p , scale_k<br>scale_v, scale_g<br></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="215" y="1260" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-36" value="<font color="#9929bd">unscale dK with <br>&nbsp;scale_p , scale_q<br>scale_v, scale_g<br></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="510" y="1260" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-37" value="<b style="border-color: var(--border-color);">fp16 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="480" y="860" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-38" value="<b style="border-color: var(--border-color);">fp16 shared mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="580" y="860" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="Jtv76Chgc0MOjvgi08DV-39" value="<b style="border-color: var(--border-color);">fp32 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="680" y="860" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-42" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-43" target="nijdBSbny1stzXZ2TAKx-45" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-43" value="\(S = Q * K^T \)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="1580" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-45" target="nijdBSbny1stzXZ2TAKx-61" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-45" target="nijdBSbny1stzXZ2TAKx-79" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-45" value="<font color="#ff0000">\( P = \frac{softmax(S)}{\sqrt{dim}}\)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="1660" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-48" target="nijdBSbny1stzXZ2TAKx-43" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-48" value="\(Q\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="1540" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-50" target="nijdBSbny1stzXZ2TAKx-43" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-50" value="\(K\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="1620" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-51" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-52" target="nijdBSbny1stzXZ2TAKx-58" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-52" value="\(dO\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="1580" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-53" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-54" target="nijdBSbny1stzXZ2TAKx-56" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-54" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="620" y="1580" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-56" target="nijdBSbny1stzXZ2TAKx-61" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-56" value="\(D = rowsum(dO \circ O)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="612.5" y="1660" width="135" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-58" target="nijdBSbny1stzXZ2TAKx-61" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-58" value="<font color="#ff2600">\(dP = dO * V^T\)<br><br></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="460" y="1660" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-61" target="nijdBSbny1stzXZ2TAKx-63" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-61" target="nijdBSbny1stzXZ2TAKx-65" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-61" target="UhCvBVR4pF60mXPPfr7d-165" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-61" value="<font color="#ff2600">\(dS = P \circ (dP - D)\)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="320" y="1740" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-62" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-63" target="nijdBSbny1stzXZ2TAKx-66" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-74" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-63" target="nijdBSbny1stzXZ2TAKx-73" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-63" value="<font color="#ff2600">\(dS * K\)</font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="1820" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-65" target="nijdBSbny1stzXZ2TAKx-67" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-76" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-65" target="nijdBSbny1stzXZ2TAKx-75" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-65" value="<font color="#ff2600">\(dS^T * Q\)</font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="1820" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-66" value="\(dQ\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="1940" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-67" value="\(dK\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="1940" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-70" value="<b style="border-color: var(--border-color);">fp16 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="1480" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-71" value="<b style="border-color: var(--border-color);">fp16 shared mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="560" y="1480" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-72" value="<b style="border-color: var(--border-color);">fp32 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="660" y="1480" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-73" value="<font color="#ff0000">underflow_rate_max = 1.00</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="55" y="1835" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-75" value="<font color="#ff0000">underflow_rate_max = 0.80</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="578.75" y="1835" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-79" value="<font color="#ff0000">underflow_rate_max = 0.20</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="35" y="1665" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-82" value="<font color="#ff0000">underflow_rate_max = 0.20</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="318.75" y="1625" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-84" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.456;entryY=1.1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-58" target="nijdBSbny1stzXZ2TAKx-82" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="393.75" y="1820" as="sourcePoint" />
<mxPoint x="443.75" y="1770" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-85" value="No scale" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="60" y="1440" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-86" value="<font color="#ff0000">underflow_rate_max = 0.35</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="128.75" y="2345" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-87" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-88" target="nijdBSbny1stzXZ2TAKx-91" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-88" value="\(S = Q * K^T \)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="2180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-91" target="nijdBSbny1stzXZ2TAKx-107" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-91" target="nijdBSbny1stzXZ2TAKx-121" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-91" value="<font color="#ff0000">\( P = \frac{softmax(S)}{\sqrt{dim}}\)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="2260" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-93" target="nijdBSbny1stzXZ2TAKx-88" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-93" value="\(Q\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="2140" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-94" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-95" target="nijdBSbny1stzXZ2TAKx-88" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-95" value="\(K\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="2220" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-96" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-97" target="nijdBSbny1stzXZ2TAKx-103" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-97" value="\(dO\)<br><font color="#ff2600">scale_g</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="2180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-98" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-99" target="nijdBSbny1stzXZ2TAKx-101" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-99" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="620" y="2180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-101" target="nijdBSbny1stzXZ2TAKx-107" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-101" value="\(D = rowsum(dO \circ O)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="612.5" y="2260" width="135" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-103" target="nijdBSbny1stzXZ2TAKx-107" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-103" value="<font color="#ff2600">\(dP = dO * V^T\)<br>scale_g<br></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="460" y="2260" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-107" target="nijdBSbny1stzXZ2TAKx-110" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-107" target="nijdBSbny1stzXZ2TAKx-113" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-107" target="nijdBSbny1stzXZ2TAKx-86" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-107" value="<font color="#ff2600">\(dS = P \circ (dP - D)\)<br>scale_g<br></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="320" y="2340" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-108" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-110" target="nijdBSbny1stzXZ2TAKx-114" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-109" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-110" target="nijdBSbny1stzXZ2TAKx-119" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-110" value="<font color="#ff2600">\(dS * K\)<br>scale_g<br></font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="2420" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-113" target="nijdBSbny1stzXZ2TAKx-115" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-112" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-113" target="nijdBSbny1stzXZ2TAKx-120" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-113" value="<font color="#ff2600">\(dS^T * Q\)<br>scale_g<br></font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="2420" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-114" value="\(dQ\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="2540" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-115" value="\(dK\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="2540" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-116" value="<b style="border-color: var(--border-color);">fp16 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="2080" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-117" value="<b style="border-color: var(--border-color);">fp16 shared mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="560" y="2080" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-118" value="<b style="border-color: var(--border-color);">fp32 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="660" y="2080" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-119" value="<font color="#ff0000">underflow_rate_max = 0.40</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="55" y="2435" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-120" value="<font color="#ff0000">underflow_rate_max = 0.35</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="578.75" y="2435" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-121" value="<font color="#ff0000">underflow_rate_max = 0.15</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="35" y="2265" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-122" value="<font color="#ff0000">underflow_rate_max = 0.15</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="318.75" y="2225" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-123" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.456;entryY=1.1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-103" target="nijdBSbny1stzXZ2TAKx-122" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="393.75" y="2420" as="sourcePoint" />
<mxPoint x="443.75" y="2370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-125" value="scale_g = 16384.0<br>scale_p = 256.0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="60" y="2640" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-126" value="<font color="#ff0000">underflow_rate_max = 0.10</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="120" y="2925" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-127" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-128" target="nijdBSbny1stzXZ2TAKx-131" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-128" value="\(S = Q * K^T \)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="2760" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-131" target="nijdBSbny1stzXZ2TAKx-147" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-200" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-131" target="nijdBSbny1stzXZ2TAKx-161" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-131" value="<font color="#ff0000">\( P = \frac{softmax(S)}{\sqrt{dim}}\)<br>scale_p<br></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="2840" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-132" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-133" target="nijdBSbny1stzXZ2TAKx-128" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-133" value="\(Q\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="2720" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-135" target="nijdBSbny1stzXZ2TAKx-128" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-135" value="\(K\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="2800" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-136" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-137" target="nijdBSbny1stzXZ2TAKx-143" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-137" value="\(dO\)<br><font color="#ff2600">scale_g</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="2760" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-138" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-139" target="nijdBSbny1stzXZ2TAKx-141" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-139" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="620" y="2760" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-141" target="nijdBSbny1stzXZ2TAKx-147" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-141" value="\(D = rowsum(dO \circ O)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="612.5" y="2840" width="135" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-142" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-143" target="nijdBSbny1stzXZ2TAKx-147" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-143" value="<font color="#ff2600">\(dP = dO * V^T\)<br>scale_g<br></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="460" y="2840" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-144" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-147" target="nijdBSbny1stzXZ2TAKx-150" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-147" target="nijdBSbny1stzXZ2TAKx-153" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-199" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-147" target="nijdBSbny1stzXZ2TAKx-126" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-147" value="<font color="#ff2600">\(dS = P \circ (dP - D)\)<br>scale_p * scale_g<br></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="320" y="2920" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-148" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-150" target="nijdBSbny1stzXZ2TAKx-154" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-150" value="\(dS * K\)<br><font color="#ff2600">scale_p * scale_g</font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="3000" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-151" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-153" target="nijdBSbny1stzXZ2TAKx-155" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-152" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-153" target="nijdBSbny1stzXZ2TAKx-160" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-153" value="<font color="#ff2600">\(dS^T * Q\)<br>scale_p * scale_g<br></font>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="3000" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-154" value="\(dQ\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="3120" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-155" value="\(dK\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="3120" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-156" value="<b style="border-color: var(--border-color);">fp16 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="2660" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-157" value="<b style="border-color: var(--border-color);">fp16 shared mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="560" y="2660" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-158" value="<b style="border-color: var(--border-color);">fp32 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="660" y="2660" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-160" value="<font color="#ff0000">underflow_rate_max = 0.10</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="578.75" y="3015" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-161" value="<font color="#ff0000">underflow_rate_max = 0.05</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="20" y="2845" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-162" value="<font color="#ff0000">underflow_rate_max = 0.06</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="318.75" y="2805" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-163" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.456;entryY=1.1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-143" target="nijdBSbny1stzXZ2TAKx-162" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="393.75" y="3000" as="sourcePoint" />
<mxPoint x="443.75" y="2950" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-164" value="<font color="#9929bd">unscale dK with <br>&nbsp;scale_g<br></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="485" y="2490" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-165" value="<font color="#9929bd">unscale dQ with <br>&nbsp;scale_g<br></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="205" y="2490" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-166" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-167" target="nijdBSbny1stzXZ2TAKx-169" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-167" value="\(S = Q * K^T \)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="380" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-168" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-169" target="nijdBSbny1stzXZ2TAKx-185" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-169" value="\( P = \frac{softmax(S)}{\sqrt{dim}}\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="220" y="460" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-171" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-172" target="nijdBSbny1stzXZ2TAKx-167" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-172" value="\(Q\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="340" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-173" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-174" target="nijdBSbny1stzXZ2TAKx-167" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-174" value="\(K\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="60" y="420" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-175" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-176" target="nijdBSbny1stzXZ2TAKx-182" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-176" value="\(dO\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="380" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-177" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-178" target="nijdBSbny1stzXZ2TAKx-180" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-178" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="620" y="380" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-179" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-180" target="nijdBSbny1stzXZ2TAKx-185" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-180" value="\(D = rowsum(dO \circ O)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="612.5" y="460" width="135" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-181" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-182" target="nijdBSbny1stzXZ2TAKx-185" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-182" value="\(dP = dO * V^T\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="460" y="460" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-183" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-185" target="nijdBSbny1stzXZ2TAKx-187" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-184" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-185" target="nijdBSbny1stzXZ2TAKx-189" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-185" value="\(dS = P \circ (dP - D)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="320" y="540" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-186" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="nijdBSbny1stzXZ2TAKx-187" target="nijdBSbny1stzXZ2TAKx-190" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-187" value="\(dS * K\)<br>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="620" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-188" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nijdBSbny1stzXZ2TAKx-189" target="nijdBSbny1stzXZ2TAKx-191" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-189" value="\(dS^T * Q\)<br>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="620" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-190" value="\(dQ\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="260" y="740" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-191" value="\(dK\)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="420" y="740" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-194" value="<b style="border-color: var(--border-color);">fp16 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="460" y="280" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-195" value="<b style="border-color: var(--border-color);">fp16 shared mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="560" y="280" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-196" value="<b style="border-color: var(--border-color);">fp32 global mem</b>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="660" y="280" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-197" value="<font color="#9929bd">unscale dQ with <br>&nbsp;scale_g, scale_p<br></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="205" y="3070" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nijdBSbny1stzXZ2TAKx-198" value="<font color="#9929bd">unscale dK with <br>&nbsp;scale_g, scale_p<br></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="475" y="3070" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-2" target="s-bUm03DiuSwcsC3q6Hx-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-2" value="\(S = Q * K^T \)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="250" y="3670" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-4" target="s-bUm03DiuSwcsC3q6Hx-19" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-4" value="\( P = \frac{softmax(S)}{\sqrt{dim}}\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="250" y="3750" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-6" target="s-bUm03DiuSwcsC3q6Hx-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-6" value="\(Q\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="90" y="3630" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-8" target="s-bUm03DiuSwcsC3q6Hx-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-8" value="\(K\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="90" y="3710" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-10" target="s-bUm03DiuSwcsC3q6Hx-16" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-10" value="\(dO\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="490" y="3670" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-12" target="s-bUm03DiuSwcsC3q6Hx-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-12" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="650" y="3670" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-14" target="s-bUm03DiuSwcsC3q6Hx-19" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-14" value="\(D = rowsum(dO \circ O)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="642.5" y="3750" width="135" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-16" target="s-bUm03DiuSwcsC3q6Hx-19" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-16" value="\(dP = dO * V^T\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="490" y="3750" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-19" target="s-bUm03DiuSwcsC3q6Hx-21" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-19" target="s-bUm03DiuSwcsC3q6Hx-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-19" value="\(dS = P \circ (dP - D)\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="350" y="3830" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-20" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-21" target="s-bUm03DiuSwcsC3q6Hx-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-21" value="\(dS * K\)<br>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="290" y="3910" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-23" target="s-bUm03DiuSwcsC3q6Hx-25" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-23" value="\(dS^T * Q\)<br>" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;" parent="1" vertex="1">
<mxGeometry x="450" y="3910" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-24" value="\(dQ\)" style="whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="290" y="4030" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-25" value="\(dK\)" style="whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#6c8ebf;rounded=1;" parent="1" vertex="1">
<mxGeometry x="450" y="4030" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-57" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-58" target="s-bUm03DiuSwcsC3q6Hx-60" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-58" value="\(S = Q * K^T \)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="240" y="4200" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-60" target="s-bUm03DiuSwcsC3q6Hx-75" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-60" value="\( P = \frac{softmax(S)}{\sqrt{dim}}\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="240" y="4280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-62" target="s-bUm03DiuSwcsC3q6Hx-58" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-62" value="\(Q\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="80" y="4160" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-64" target="s-bUm03DiuSwcsC3q6Hx-58" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-64" value="\(K\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="80" y="4240" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-66" target="s-bUm03DiuSwcsC3q6Hx-75" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="545" y="4340" />
<mxPoint x="420" y="4340" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-66" value="\(V\)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="485" y="4230" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-68" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="360" y="4430" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-82" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-75" target="s-bUm03DiuSwcsC3q6Hx-68" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-75" value="\(O = P * V\)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="340" y="4360" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-84" value="<b>并行模式(正向)</b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="35" y="4450" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-86" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;" parent="1" vertex="1">
<mxGeometry x="40" y="4600" width="40" height="240" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-87" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-86" vertex="1">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-88" value="B1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-87" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-89" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-86" vertex="1">
<mxGeometry y="40" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-90" value="B2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-89" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-91" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-86" vertex="1">
<mxGeometry y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-92" value="..." style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-91" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-93" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-86" vertex="1">
<mxGeometry y="120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-94" value="..." style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-93" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-95" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-86" vertex="1">
<mxGeometry y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-96" value="..." style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-95" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-97" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-86" vertex="1">
<mxGeometry y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-98" value="Bm" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-97" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-101" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;" parent="1" vertex="1">
<mxGeometry x="120" y="4600" width="40" height="240" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-102" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-101" vertex="1">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-103" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-102" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-104" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-101" vertex="1">
<mxGeometry y="40" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-105" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-104" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-106" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-101" vertex="1">
<mxGeometry y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-107" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-106" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-108" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-101" vertex="1">
<mxGeometry y="120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-109" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-108" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-110" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-101" vertex="1">
<mxGeometry y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-111" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-110" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-112" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-101" vertex="1">
<mxGeometry y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-113" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-112" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-114" value="<b>Q</b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="45" y="4570" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-115" value="<b>K</b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="125" y="4570" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-116" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;" parent="1" vertex="1">
<mxGeometry x="320" y="4600" width="40" height="240" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-117" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-116" vertex="1">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-118" value="B1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-117" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-119" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-116" vertex="1">
<mxGeometry y="40" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-120" value="B2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-119" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-121" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-116" vertex="1">
<mxGeometry y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-122" value="..." style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-121" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-123" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-116" vertex="1">
<mxGeometry y="120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-124" value="..." style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-123" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-125" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-116" vertex="1">
<mxGeometry y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-126" value="..." style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-125" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-127" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-116" vertex="1">
<mxGeometry y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-128" value="Bm" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-127" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-129" value="<b>O</b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="323.75" y="4570" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-130" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;" parent="1" vertex="1">
<mxGeometry x="200" y="4600" width="40" height="240" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-131" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-130" vertex="1">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-132" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-131" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-133" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-130" vertex="1">
<mxGeometry y="40" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-134" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-133" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-135" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-130" vertex="1">
<mxGeometry y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-136" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-135" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-137" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-130" vertex="1">
<mxGeometry y="120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-138" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-137" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-139" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-130" vertex="1">
<mxGeometry y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-140" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-139" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-141" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-130" vertex="1">
<mxGeometry y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-142" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-141" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-143" value="<b>V</b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="205" y="4570" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-145" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" parent="1" vertex="1">
<mxGeometry x="440" y="4520" width="332.57" height="400" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-147" value="" style="edgeStyle=none;orthogonalLoop=1;jettySize=auto;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="100" relative="1" as="geometry">
<mxPoint x="170" y="4600" as="sourcePoint" />
<mxPoint x="170" y="4840" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-148" value="K Loop" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="145" y="4570" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-149" value="" style="edgeStyle=none;orthogonalLoop=1;jettySize=auto;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="100" relative="1" as="geometry">
<mxPoint x="250" y="4600" as="sourcePoint" />
<mxPoint x="250" y="4840" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-150" value="V Loop" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="225" y="4570" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-153" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-154" target="s-bUm03DiuSwcsC3q6Hx-156" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-154" value="\(S_{ij} = Q_i * K_j^T \)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="275" y="4960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-155" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-156" target="s-bUm03DiuSwcsC3q6Hx-167" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-156" value="\( P_{ij} = \frac{softmax(S_{ij})}{\sqrt{dim}}\)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="275" y="5040" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-157" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-158" target="s-bUm03DiuSwcsC3q6Hx-154" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-158" value="\(Q_i\)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="115" y="4920" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-159" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-160" target="s-bUm03DiuSwcsC3q6Hx-154" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-160" value="\(K_j\)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="115" y="5000" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-161" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-162" target="s-bUm03DiuSwcsC3q6Hx-167" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="575" y="5040" as="targetPoint" />
<Array as="points">
<mxPoint x="575" y="5100" />
<mxPoint x="455" y="5100" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-162" value="\(Vj\)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="515" y="4960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-163" value="\(O\)<br>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#7EA6E0;strokeColor=#9673a6;" parent="1" vertex="1">
<mxGeometry x="395" y="5190" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-166" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="s-bUm03DiuSwcsC3q6Hx-167" target="s-bUm03DiuSwcsC3q6Hx-163" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-167" value="\(O_i&nbsp; &nbsp;= add(O_i, P_{ij}) \)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="375" y="5120" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-168" value="Loop" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="425" y="5068" width="50" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-170" value="<b>并行模式(反向)</b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="40" y="5280" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-171" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;" parent="1" vertex="1">
<mxGeometry x="38.75" y="5550" width="40" height="240" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-172" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-171" vertex="1">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-173" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-172" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-174" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-171" vertex="1">
<mxGeometry y="40" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-175" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-174" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-176" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-171" vertex="1">
<mxGeometry y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-177" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-176" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-178" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-171" vertex="1">
<mxGeometry y="120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-179" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-178" vertex="1">
<mxGeometry width="40" height="40" as="geometry">
<mxRectangle width="40" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-180" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="s-bUm03DiuSwcsC3q6Hx-171" vertex="1">
<mxGeometry y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="s-bUm03DiuSwcsC3q6Hx-181" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" parent="s-bUm03DiuSwcsC3q6Hx-180" vertex="1">