Skip to content
KernelIndex
Search⌘K

submission 28389

KernelBot user 151 · python · License unknown

Use it

Vendorable · source mirrored · license unknownView source →

No package. Vendor the mirrored source: 1 lines, June 9 Researcher Reciprocity License v1.0.

mla3.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mla-decode-28389?include=source"
interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesbf16

Benchmark evidence

1 measurement across 1 GPU, fastest first.

Operation / workload
Hardware
Latency
Rank
Observed
AMD MLA decodebf16 · [128, 1, 7168]
AMD Instinct MI300X
135.3ms
#53 of 79
2025-05-27

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:9da9379d6260e4f9fc78fcddd828edc03eff9f501f36c0a9dd80ffe508ebb8bc
license declaredunknown
license concludedunknown
imported2026-08-15

Kernel source

mla3.py1 lines
aW1wb3J0IG1hdGgKZnJvbSBkYXRhY2xhc3NlcyBpbXBvcnQgZGF0YWNsYXNzCmltcG9ydCB0b3JjaApmcm9tIHRvcmNoIGltcG9ydCBubgppbXBvcnQgdG9yY2gubm4uZnVuY3Rpb25hbCBhcyBGCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKCmNsYXNzIFJvUEUobm4uTW9kdWxlKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkX21vZGVsOiBpbnQpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYuZF9tb2RlbCA9IGRfbW9kZWwKICAgICAgICB0aGV0YSA9IDEwMDAwICoqICgtdG9yY2guYXJhbmdlKDAsIGRfbW9kZWwvLzIsZHR5cGU9dG9yY2guYmZsb2F0MTYpIC8gKGRfbW9kZWwvLzIpKQogICAgICAgIHNlbGYucmVnaXN0ZXJfYnVmZmVyKCJ0aGV0YSIsIHRoZXRhKQoKICAgIGRlZiByb3RhdGVfaGFsZihzZWxmLCB4OiB0b3JjaC5UZW5zb3IpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICB4MSwgeDIgPSB4LmNodW5rKDIsIGRpbT0tMSkKICAgICAgICByZXR1cm4gdG9yY2guY2F0KCgteDIsIHgxKSwgZGltPS0xKQoKICAgIGRlZiBmb3J3YXJkKHNlbGYsIHg6IHRvcmNoLlRlbnNvciwgc3RhcnRfcG9zOiBpbnQgPSAwKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgc2VxX2xlbiA9IHguc2l6ZSgtMikKICAgICAgICBkX21vZGVsID0geC5zaXplKC0xKQogICAgICAgIGFzc2VydCBkX21vZGVsID09IHNlbGYuZF9tb2RlbAogICAgICAgIHNlcV9pZHggPSB0b3JjaC5hcmFuZ2Uoc3RhcnRfcG9zLCBzdGFydF9wb3MgKyBzZXFfbGVuLCBkZXZpY2U9eC5kZXZpY2UpCiAgICAgICAgaWR4X3RoZXRhID0gdG9yY2guZWluc3VtKCdzLGQtPnNkJywgc2VxX2lkeCwgc2VsZi50aGV0YSkKICAgICAgICBpZHhfdGhldGEyID0gdG9yY2guY2F0KFtpZHhfdGhldGEsIGlkeF90aGV0YV0sIGRpbT0tMSkKICAgICAgICBjb3MgPSBpZHhfdGhldGEyLmNvcygpLnRvKHRvcmNoLmJmbG9hdDE2KQogICAgICAgIHNpbiA9IGlkeF90aGV0YTIuc2luKCkudG8odG9yY2guYmZsb2F0MTYpCiAgICAgICAgcmV0dXJuIHggKiBjb3MgKyBzZWxmLnJvdGF0ZV9oYWxmKHgpICogc2luCgoKY2xhc3MgS1ZDYWNoZShubi5Nb2R1bGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGt2X2NhY2hlX3NoYXBlOiB0dXBsZSkgLT4gTm9uZToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLnJlZ2lzdGVyX2J1ZmZlcignZGF0YScsIHRvcmNoLnplcm9zKGt2X2NhY2hlX3NoYXBlLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZGV2aWNlPSdjdWRhJykpCiAgICAgICAgc2VsZi5zZXFfbGVuID0gMAogICAgICAgIHNlbGYuemVybygpCgogICAgZGVmIHplcm8oc2VsZikgLT4gTm9uZToKICAgICAgICBzZWxmLmRhdGEuemVyb18oKQogICAgCiAgICBkZWYgZ2V0X2RhdGEoc2VsZikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHJldHVybiBzZWxmLmRhdGEKCiAgICBkZWYgZm9yd2FyZChzZWxmLCBjX2t2OiB0b3JjaC5UZW5zb3IpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICBhc3NlcnQgc2VsZi5zZXFfbGVuICsgY19rdi5zaXplKDEpIDw9IHNlbGYuZGF0YS5zaXplKDEpLCAiS1YgQ2FjaGUgRXhjZWVkZWQiCgogICAgICAgIHNlbGYuZGF0YSA9IHNlbGYuZGF0YS50byhjX2t2LmR0eXBlKQogICAgICAgIHNlbGYuZGF0YVsKICAgICAgICAgICAgOiwgc2VsZi5zZXFfbGVuIDogc2VsZi5zZXFfbGVuICsgY19rdi5zaXplKDEpLCA6CiAgICAgICAgXSA9IGNfa3YKICAgICAgICBzZWxmLnNlcV9sZW4gKz0gY19rdi5zaXplKDEpCgogICAgICAgIHJldHVybiBzZWxmLmRhdGFbOiwgOnNlbGYuc2VxX2xlbl0sIHNlbGYuc2VxX2xlbgogICAgCkBkYXRhY2xhc3MKY2xhc3MgQ29uZmlnOgogICAgYmF0Y2hfc2l6ZTogaW50CiAgICBkaW06IGludAogICAgbl9oZWFkczogaW50CiAgICBxX2xvcmFfcmFuazogaW50IAogICAga3ZfbG9yYV9yYW5rOiBpbnQKICAgIHFrX25vcGVfaGVhZF9kaW06IGludAogICAgcWtfcm9wZV9oZWFkX2RpbTogaW50CiAgICB2X2hlYWRfZGltOiBpbnQKICAgIHNlcV9sZW46IGludAogICAgbWF4X3NlcV9sZW46IGludAogICAga3ZfY2FjaGVfc2hhcGU6IHR1cGxlCiAgICBRX3Byb2pfZG93bl93ZWlnaHQ6IHRvcmNoLlRlbnNvcgogICAgUV9wcm9qX3VwX3dlaWdodDogdG9yY2guVGVuc29yCiAgICBLVl9wcm9qX2Rvd25fd2VpZ2h0OiB0b3JjaC5UZW5zb3IKICAgIEtWX3Byb2pfdXBfd2VpZ2h0OiB0b3JjaC5UZW5zb3IKICAgIHdvX3dlaWdodDogdG9yY2guVGVuc29yCgpjbGFzcyBNTEEobm4uTW9kdWxlKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWc6IENvbmZpZyk6CiAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5kaW0gPSBjb25maWcuZGltCiAgICAgICAgc2VsZi5uX2hlYWRzID0gY29uZmlnLm5faGVhZHMKICAgICAgICBzZWxmLnFfbG9yYV9yYW5rID0gY29uZmlnLnFfbG9yYV9yYW5rCiAgICAgICAgc2VsZi5rdl9sb3JhX3JhbmsgPSBjb25maWcua3ZfbG9yYV9yYW5rCiAgICAgICAgc2VsZi5ub3BlX2hlYWRfZGltID0gY29uZmlnLnFrX25vcGVfaGVhZF9kaW0KICAgICAgICBzZWxmLnJvcGVfaGVhZF9kaW0gPSBjb25maWcucWtfcm9wZV9oZWFkX2RpbQogICAgICAgIHNlbGYudl9oZWFkX2RpbSA9IGNvbmZpZy52X2hlYWRfZGltCiAgICAgICAgIyBEb3duLXByb2plY3Rpb24gbWF0cmljZXMKICAgICAgICBzZWxmLlFfcHJval9kb3duID0gbm4uTGluZWFyKHNlbGYuZGltLCBzZWxmLnFfbG9yYV9yYW5rLCBiaWFzPUZhbHNlLCBkdHlwZT10b3JjaC5iZmxvYXQxNikKICAgICAgICBzZWxmLktWX3Byb2pfZG93biA9IG5uLkxpbmVhcihzZWxmLmRpbSwgc2VsZi5rdl9sb3JhX3JhbmsgKyBzZWxmLnJvcGVfaGVhZF9kaW0sIGJpYXM9RmFsc2UsIGR0eXBlPXRvcmNoLmJmbG9hdDE2KQoKICAgICAgICAjIFVwLXByb2plY3Rpb24gYW5kIHJvcGUgcHJvamVjdGlvbiBtYXRyaWNlcwogICAgICAgIHNlbGYuUV9wcm9qX3VwID0gbm4uTGluZWFyKHNlbGYucV9sb3JhX3JhbmssIChzZWxmLm5vcGVfaGVhZF9kaW0gKyBzZWxmLnJvcGVfaGVhZF9kaW0pICogc2VsZi5uX2hlYWRzLCBiaWFzPUZhbHNlLCBkdHlwZT10b3JjaC5iZmxvYXQxNikKICAgICAgICBzZWxmLktWX3Byb2pfdXAgPSBubi5MaW5lYXIoc2VsZi5rdl9sb3JhX3JhbmssIChzZWxmLm5vcGVfaGVhZF9kaW0gKyBzZWxmLnZfaGVhZF9kaW0pICogc2VsZi5uX2hlYWRzLCBiaWFzPUZhbHNlLCBkdHlwZT10b3JjaC5iZmxvYXQxNikKCiAgICAgICAgIyBSb1BFIG9uIGhhbGYgZW1iZWRkaW5ncwogICAgICAgIHNlbGYucV9yb3BlID0gUm9QRShzZWxmLnJvcGVfaGVhZF9kaW0pCiAgICAgICAgc2VsZi5rX3JvcGUgPSBSb1BFKHNlbGYucm9wZV9oZWFkX2RpbSkKCiAgICAgICAgIyBPdXRwdXQgcHJvamVjdGlvbgogICAgICAgIHNlbGYud28gPSBubi5MaW5lYXIoc2VsZi52X2hlYWRfZGltICogc2VsZi5uX2hlYWRzLCBzZWxmLmRpbSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCiAgICAgICAgc2VsZi5lcHMgPSAxZS02CiAgIAogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yLCBrdl9jYWNoZTogS1ZDYWNoZSkgLT4gdG9yY2guVGVuc29yOgogICAgICAgICMgc2VxX2xlbiA9IDEgYWx3YXlzIGhlcmUKICAgICAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBtb2RlbF9kaW0gPSB4LnNpemUoKQoKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgICMgICAgICAgICAgICAgICAgIFN0ZXAgMTogSGFuZGxlIGRvd24tcHJvamVjdGlvbiArIEtWIGNhY2hlICAgICAgICAgICAgICAgICAgICAjCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICBxX2xvcmEgPSBzZWxmLlFfcHJval9kb3duKHgpCiAgICAgICAga3ZfbG9yYSA9IHNlbGYuS1ZfcHJval9kb3duKHgpCiAgICAgICAga3ZfbG9yYSwga3ZfbGVuID0ga3ZfY2FjaGUoa3ZfbG9yYSkKICAgICAgICBxdWVyeV9wb3MgPSBrdl9sZW4gLSAxCgogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgIyAgICAgICAgICAgICAgICAgIFN0ZXAgMjogVXAtcHJvamVjdCBhbmQgcHJlcGFyZSBOb1BFICsgUm9QRSAgICAgICAgICAgICAgICAgICMKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAgICAgICAjIEhhbmRsZSBxdWVyaWVzIFEgZmlyc3QKICAgICAgICBxX25vcGVfYW5kX3JvcGUgPSBzZWxmLlFfcHJval91cChxX2xvcmEpLnZpZXcoCiAgICAgICAgICAgIGJhdGNoX3NpemUsIHNlcV9sZW4sIHNlbGYubl9oZWFkcywgc2VsZi5ub3BlX2hlYWRfZGltICsgc2VsZi5yb3BlX2hlYWRfZGltKQogICAgICAgIHFfbm9wZSwgcV9yb3BlID0gdG9yY2guc3BsaXQocV9ub3BlX2FuZF9yb3BlLCBbc2VsZi5ub3BlX2hlYWRfZGltLCBzZWxmLnJvcGVfaGVhZF9kaW1dLCBkaW09LTEpCgogICAgICAgICMgSGFuZGxlIGtleXMgYW5kIHZhbHVlcyBLL1YuIFYgZG9lcyBub3QgbmVlZCBSb1BFCiAgICAgICAga3Zfbm9wZSwga19yb3BlID0gdG9yY2guc3BsaXQoa3ZfbG9yYSwgW3NlbGYua3ZfbG9yYV9yYW5rLCBzZWxmLnJvcGVfaGVhZF9kaW1dLCBkaW09LTEpCiAgICAgICAga3Zfbm9wZSA9IHNlbGYuS1ZfcHJval91cChrdl9ub3BlKS52aWV3KAogICAgICAgICAgICBiYXRjaF9zaXplLCBrdl9sZW4sIHNlbGYubl9oZWFkcywgc2VsZi5ub3BlX2hlYWRfZGltICsgc2VsZi52X2hlYWRfZGltKQogICAgICAgIGtfbm9wZSwgdiA9IHRvcmNoLnNwbGl0KGt2X25vcGUsIFtzZWxmLm5vcGVfaGVhZF9kaW0sIHNlbGYudl9oZWFkX2RpbV0sIGRpbT0tMSkKCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjICAgICAgICAgICAgICAgICAgICBTdGVwIDM6IEhhbmRsZSBSb1BFIFN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgICAgICMgQ29tcHV0ZSBSb1BFIGZvciBxdWVyaWVzIGFuZCBjb21iaW5lIHdpdGggbm8tUm9QRSBwYXJ0CiAgICAgICAgcV9yb3BlID0gcV9yb3BlLnBlcm11dGUoMCwgMiwgMSwgMykgIyBicyB4IG5faGVhZHMgeCBzZXFfbGVuIHggcm9wZV9oZWFkX2RpbQogICAgICAgIHFfcm9wZSA9IHNlbGYucV9yb3BlKHFfcm9wZSwgc3RhcnRfcG9zPXF1ZXJ5X3BvcykKCiAgICAgICAgcV9ub3BlID0gcV9ub3BlLnBlcm11dGUoMCwgMiwgMSwgMykgIyBicyB4IG5faGVhZHMgeCBzZXFfbGVuIHggcm9wZV9oZWFkX2RpbQogICAgICAgIHEgPSB0b3JjaC5jb25jYXQoW3Ffbm9wZSwgcV9yb3BlXSwgZGltPS0xKQoKCiAgICAgICAgIyBDb21wdXRlIFJvUEUgZm9yIGtleXMgYW5kIGNvbWJpbmUgd2l0aCBuby1Sb1BFIHBhcnQKICAgICAgICBrX3JvcGUgPSBrX3JvcGVbOiwgTm9uZSwgOiwgOl0KICAgICAgICBrX3JvcGUgPSBzZWxmLmtfcm9wZShrX3JvcGUpLmV4cGFuZCgtMSxzZWxmLm5faGVhZHMsLTEsLTEpCiAgICAgICAga19ub3BlID0ga19ub3BlLnBlcm11dGUoMCwgMiwgMSwgMykgIyBicyB4IGt2X2xlbiB4IG5faGVhZHMgeCByb3BlX2hlYWRfZGltCiAgICAgICAgayA9IHRvcmNoLmNvbmNhdChba19ub3BlLCBrX3JvcGVdLCBkaW09LTEpCiAgICAgICAgICAgICAgICAKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICBDb21wdXRlIE11bHRpLWhlYWQgQXR0ZW50aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICB2ID0gdi5wZXJtdXRlKDAsIDIsIDEsIDMpICMgYnMgeCBuX2hlYWRzIHgga3ZfbGVuIHggdl9oZWFkX2RpbQogICAgICAgIHNjb3JlcyA9IHRvcmNoLm1hdG11bChxLCBrLnRyYW5zcG9zZSgtMSwgLTIpKSAvIG1hdGguc3FydChzZWxmLnJvcGVfaGVhZF9kaW0gKyBzZWxmLm5vcGVfaGVhZF9kaW0pCiAgICAgICAgYXR0biA9IEYuc29mdG1heChzY29yZXMsIGRpbT0tMSkudG8odG9yY2guYmZsb2F0MTYpCiAgICAgICAgeSA9IHRvcmNoLm1hdG11bChhdHRuLCB2KS52aWV3KGJhdGNoX3NpemUsIDEsIC0xKQogICAgICAgIHkgPSBzZWxmLndvKHkpCgogICAgICAgIHJldHVybiB5LCBrdl9jYWNoZS5nZXRfZGF0YSgpCgpkZWYgY3VzdG9tX2tlcm5lbChkYXRhOiBpbnB1dF90KSAtPiBvdXRwdXRfdDoKICAgIGNvbmZpZywgeCwga3ZfY2FjaGUgPSBkYXRhCiAgICAKICAgICMgRXh0cmFjdCBkaW1lbnNpb25zCiAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBtb2RlbF9kaW0gPSB4LnNpemUoKQogICAgCiAgICAjIEdldCB3ZWlnaHRzIC0gdXNlIGRpcmVjdCB0ZW5zb3Igb3BlcmF0aW9ucyBmb3Igc3BlZWQKICAgIFFfZG93bl93ID0gY29uZmlnLlFfcHJval9kb3duX3dlaWdodAogICAgUV91cF93ID0gY29uZmlnLlFfcHJval91cF93ZWlnaHQKICAgIEtWX2Rvd25fdyA9IGNvbmZpZy5LVl9wcm9qX2Rvd25fd2VpZ2h0CiAgICBLVl91cF93ID0gY29uZmlnLktWX3Byb2pfdXBfd2VpZ2h0CiAgICB3b193ID0gY29uZmlnLndvX3dlaWdodAogICAgCiAgICBuX2hlYWRzID0gY29uZmlnLm5faGVhZHMKICAgIHFfbG9yYV9yYW5rID0gY29uZmlnLnFfbG9yYV9yYW5rCiAgICBrdl9sb3JhX3JhbmsgPSBjb25maWcua3ZfbG9yYV9yYW5rCiAgICBub3BlX2hlYWRfZGltID0gY29uZmlnLnFrX25vcGVfaGVhZF9kaW0KICAgIHJvcGVfaGVhZF9kaW0gPSBjb25maWcucWtfcm9wZV9oZWFkX2RpbQogICAgdl9oZWFkX2RpbSA9IGNvbmZpZy52X2hlYWRfZGltCiAgICAKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjICAgICAgICAgICAgICAgICBTdGVwIDE6IE9wdGltaXplZCBkb3duLXByb2plY3Rpb24gKyBLViBjYWNoZSAgICAgICAgICAgICAgICAgIwogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgIAogICAgIyBVc2UgZGlyZWN0IG1hdHJpeCBtdWx0aXBsaWNhdGlvbiAoZmFzdGVyIHRoYW4gbm4uTGluZWFyKQogICAgeF9yZXNoYXBlZCA9IHgudmlldygtMSwgbW9kZWxfZGltKQogICAgCiAgICBxX2xvcmEgPSB0b3JjaC5tbSh4X3Jlc2hhcGVkLCBRX2Rvd25fdy5UKS52aWV3KGJhdGNoX3NpemUsIHNlcV9sZW4sIHFfbG9yYV9yYW5rKQogICAga3ZfbG9yYV9uZXcgPSB0b3JjaC5tbSh4X3Jlc2hhcGVkLCBLVl9kb3duX3cuVCkudmlldyhiYXRjaF9zaXplLCBzZXFfbGVuLCBrdl9sb3JhX3JhbmsgKyByb3BlX2hlYWRfZGltKQogICAgCiAgICAjIFVwZGF0ZSBLViBjYWNoZQogICAga3ZfbG9yYV9mdWxsLCBrdl9sZW4gPSBrdl9jYWNoZShrdl9sb3JhX25ldykKICAgIHF1ZXJ5X3BvcyA9IGt2X2xlbiAtIDEKICAgIAogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMgICAgICAgICAgICAgICAgICBTdGVwIDI6IE9wdGltaXplZCB1cC1wcm9qZWN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgCiAgICAjIFEgdXAtcHJvamVjdGlvbgogICAgcV9sb3JhX2ZsYXQgPSBxX2xvcmEudmlldygtMSwgcV9sb3JhX3JhbmspCiAgICBxX25vcGVfYW5kX3JvcGUgPSB0b3JjaC5tbShxX2xvcmFfZmxhdCwgUV91cF93LlQpLnZpZXcoCiAgICAgICAgYmF0Y2hfc2l6ZSwgc2VxX2xlbiwgbl9oZWFkcywgbm9wZV9oZWFkX2RpbSArIHJvcGVfaGVhZF9kaW0pCiAgICBxX25vcGUsIHFfcm9wZSA9IHRvcmNoLnNwbGl0KHFfbm9wZV9hbmRfcm9wZSwgW25vcGVfaGVhZF9kaW0sIHJvcGVfaGVhZF9kaW1dLCBkaW09LTEpCiAgICAKICAgICMgU3BsaXQgS1YgY2FjaGUKICAgIGt2X25vcGVfZnVsbCwga19yb3BlX2Z1bGwgPSB0b3JjaC5zcGxpdChrdl9sb3JhX2Z1bGwsIFtrdl9sb3JhX3JhbmssIHJvcGVfaGVhZF9kaW1dLCBkaW09LTEpCiAgICAKICAgICMgS1YgdXAtcHJvamVjdGlvbgogICAga3Zfbm9wZV9mbGF0ID0ga3Zfbm9wZV9mdWxsLmNvbnRpZ3VvdXMoKS52aWV3KC0xLCBrdl9sb3JhX3JhbmspCiAgICBrdl9ub3BlX3VwID0gdG9yY2gubW0oa3Zfbm9wZV9mbGF0LCBLVl91cF93LlQpLnZpZXcoCiAgICAgICAgYmF0Y2hfc2l6ZSwga3ZfbGVuLCBuX2hlYWRzLCBub3BlX2hlYWRfZGltICsgdl9oZWFkX2RpbSkKICAgIGtfbm9wZSwgdiA9IHRvcmNoLnNwbGl0KGt2X25vcGVfdXAsIFtub3BlX2hlYWRfZGltLCB2X2hlYWRfZGltXSwgZGltPS0xKQogICAgCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyAgICAgICAgICAgICAgICAgICAgU3RlcCAzOiBSb1BFIGNvbXB1dGF0aW9uIChtYXRjaGluZyByZWZlcmVuY2UgZXhhY3RseSkgICAgICAjCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgCiAgICAjIENyZWF0ZSBSb1BFIG9iamVjdHMgdG8gbWF0Y2ggcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGV4YWN0bHkKICAgIHFfcm9wZV9tb2R1bGUgPSBSb1BFKHJvcGVfaGVhZF9kaW0pCiAgICBrX3JvcGVfbW9kdWxlID0gUm9QRShyb3BlX2hlYWRfZGltKQogICAgCiAgICAjIE1vdmUgdGhldGEgdG8gY29ycmVjdCBkZXZpY2UgYW5kIGR0eXBlCiAgICB0aGV0YSA9IDEwMDAwICoqICgtdG9yY2guYXJhbmdlKDAsIHJvcGVfaGVhZF9kaW0vLzIsIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBkZXZpY2U9eC5kZXZpY2UpIC8gKHJvcGVfaGVhZF9kaW0vLzIpKQogICAgcV9yb3BlX21vZHVsZS50aGV0YSA9IHRoZXRhCiAgICBrX3JvcGVfbW9kdWxlLnRoZXRhID0gdGhldGEKICAgIAogICAgIyBBcHBseSBSb1BFIHRvIHF1ZXJpZXMgKGV4YWN0bHkgbGlrZSByZWZlcmVuY2UpCiAgICBxX3JvcGVfcGVybSA9IHFfcm9wZS5wZXJtdXRlKDAsIDIsIDEsIDMpICAjIGJzIHggbl9oZWFkcyB4IHNlcV9sZW4geCByb3BlX2hlYWRfZGltCiAgICBxX3JvcGVfcm90YXRlZCA9IHFfcm9wZV9tb2R1bGUocV9yb3BlX3Blcm0sIHN0YXJ0X3Bvcz1xdWVyeV9wb3MpCiAgICAKICAgIHFfbm9wZV9wZXJtID0gcV9ub3BlLnBlcm11dGUoMCwgMiwgMSwgMykgICMgYnMgeCBuX2hlYWRzIHggc2VxX2xlbiB4IG5vcGVfaGVhZF9kaW0KICAgIHFfZnVsbCA9IHRvcmNoLmNvbmNhdChbcV9ub3BlX3Blcm0sIHFfcm9wZV9yb3RhdGVkXSwgZGltPS0xKQogICAgCiAgICAjIEFwcGx5IFJvUEUgdG8ga2V5cyAoZXhhY3RseSBsaWtlIHJlZmVyZW5jZSkKICAgIGtfcm9wZV9leHBhbmRlZCA9IGtfcm9wZV9mdWxsWzosIE5vbmUsIDosIDpdICAjIEFkZCBoZWFkIGRpbWVuc2lvbgogICAga19yb3BlX3JvdGF0ZWQgPSBrX3JvcGVfbW9kdWxlKGtfcm9wZV9leHBhbmRlZCkuZXhwYW5kKC0xLCBuX2hlYWRzLCAtMSwgLTEpCiAgICBrX25vcGVfcGVybSA9IGtfbm9wZS5wZXJtdXRlKDAsIDIsIDEsIDMpICAjIGJzIHggbl9oZWFkcyB4IGt2X2xlbiB4IG5vcGVfaGVhZF9kaW0KICAgIGtfZnVsbCA9IHRvcmNoLmNvbmNhdChba19ub3BlX3Blcm0sIGtfcm9wZV9yb3RhdGVkXSwgZGltPS0xKQogICAgCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyAgICAgICAgICAgICAgICAgICAgU3RlcCA0OiBBdHRlbnRpb24gY29tcHV0YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgCiAgICB2X3Blcm0gPSB2LnBlcm11dGUoMCwgMiwgMSwgMykgICMgYnMgeCBuX2hlYWRzIHgga3ZfbGVuIHggdl9oZWFkX2RpbQogICAgCiAgICAjIENvbXB1dGUgc2NvcmVzIHdpdGggZXhhY3Qgc2FtZSBzY2FsaW5nIGFzIHJlZmVyZW5jZQogICAgaGVhZF9kaW0gPSByb3BlX2hlYWRfZGltICsgbm9wZV9oZWFkX2RpbQogICAgc2NvcmVzID0gdG9yY2gubWF0bXVsKHFfZnVsbCwga19mdWxsLnRyYW5zcG9zZSgtMSwgLTIpKSAvIG1hdGguc3FydChoZWFkX2RpbSkKICAgIGF0dG4gPSBGLnNvZnRtYXgoc2NvcmVzLCBkaW09LTEpLnRvKHRvcmNoLmJmbG9hdDE2KQogICAgCiAgICAjIEFwcGx5IGF0dGVudGlvbgogICAgeSA9IHRvcmNoLm1hdG11bChhdHRuLCB2X3Blcm0pLnZpZXcoYmF0Y2hfc2l6ZSwgc2VxX2xlbiwgLTEpCiAgICAKICAgICMgT3V0cHV0IHByb2plY3Rpb24KICAgIHlfZmxhdCA9IHkudmlldygtMSwgbl9oZWFkcyAqIHZfaGVhZF9kaW0pCiAgICBvdXRwdXQgPSB0b3JjaC5tbSh5X2ZsYXQsIHdvX3cuVCkudmlldyhiYXRjaF9zaXplLCBzZXFfbGVuLCBtb2RlbF9kaW0pCiAgICAKICAgIHJldHVybiBvdXRwdXQsIGt2X2NhY2hlLmdldF9kYXRhKCk=

Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0

Best evidence level for this revision: reported

JSON