Skip to content
KernelIndex
Search⌘K

submission 29999

KernelBot user 154 · 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.

mla_v2.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mla-decode-29999?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
1.12s
#71 of 79
2025-06-01

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:90ea9002132cb95641f99c996913db6da3bd5b4d34c86ba588bf1e0829681d22
license declaredunknown
license concludedunknown
imported2026-08-15

Kernel source

mla_v2.py1 lines
aW1wb3J0IG1hdGgKZnJvbSBkYXRhY2xhc3NlcyBpbXBvcnQgZGF0YWNsYXNzCmltcG9ydCB0b3JjaApmcm9tIHRvcmNoIGltcG9ydCBubgppbXBvcnQgdG9yY2gubm4uZnVuY3Rpb25hbCBhcyBGCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKCgpjbGFzcyBSb1BFKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgZF9tb2RlbDogaW50LCBtYXhfc2VxX2xlbjogaW50ID0gODE5Mik6CiAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5kX21vZGVsID0gZF9tb2RlbAogICAgICAgIHRoZXRhX3ZhbHVlcyA9IDEwMDAwLjAgKiogKC10b3JjaC5hcmFuZ2UoMCwgZF9tb2RlbCAvLyAyLCBkdHlwZT10b3JjaC5iZmxvYXQxNikgLyAoZF9tb2RlbCAvLyAyKSkKICAgICAgICBzZWxmLnJlZ2lzdGVyX2J1ZmZlcigidGhldGEiLCB0aGV0YV92YWx1ZXMpIAogICAgICAgIHNlbGYuX2J1aWxkX2NhY2hlKG1heF9zZXFfbGVuKQoKICAgIGRlZiBfYnVpbGRfY2FjaGUoc2VsZiwgY3VycmVudF9tYXhfc2VxX2xlbjogaW50KToKICAgICAgICBzZWxmLm1heF9zZXFfbGVuID0gY3VycmVudF9tYXhfc2VxX2xlbiAKICAgICAgICBzZXFfaWR4ID0gdG9yY2guYXJhbmdlKGN1cnJlbnRfbWF4X3NlcV9sZW4sIGRldmljZT1zZWxmLnRoZXRhLmRldmljZSkgIyBkdHlwZT10b3JjaC5pbnQ2NCBieSBkZWZhdWx0CiAgICAgICAgaWR4X3RoZXRhX2YzMiA9IHRvcmNoLmVpbnN1bSgncyxkLT5zZCcsIHNlcV9pZHgsIHNlbGYudGhldGEpCiAgICAgICAgaWR4X3RoZXRhMl9mMzIgPSB0b3JjaC5jYXQoW2lkeF90aGV0YV9mMzIsIGlkeF90aGV0YV9mMzJdLCBkaW09LTEpCiAgICAgICAgY29zX2YzMiA9IGlkeF90aGV0YTJfZjMyLmNvcygpCiAgICAgICAgc2luX2YzMiA9IGlkeF90aGV0YTJfZjMyLnNpbigpCgogICAgICAgIHNlbGYucmVnaXN0ZXJfYnVmZmVyKCJjb3NfY2FjaGUiLCBjb3NfZjMyLnRvKHRvcmNoLmJmbG9hdDE2KSkKICAgICAgICBzZWxmLnJlZ2lzdGVyX2J1ZmZlcigic2luX2NhY2hlIiwgc2luX2YzMi50byh0b3JjaC5iZmxvYXQxNikpCgogICAgZGVmIHJvdGF0ZV9oYWxmKHNlbGYsIHg6IHRvcmNoLlRlbnNvcikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHgxLCB4MiA9IHguY2h1bmsoMiwgZGltPS0xKQogICAgICAgIHJldHVybiB0b3JjaC5jYXQoKC14MiwgeDEpLCBkaW09LTEpCgogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yLCBzdGFydF9wb3M6IGludCA9IDApIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICBzZXFfbGVuID0geC5zaXplKC0yKQogICAgICAgIGRfbW9kZWwgPSB4LnNpemUoLTEpCiAgICAgICAgYXNzZXJ0IGRfbW9kZWwgPT0gc2VsZi5kX21vZGVsCiAgICAgICAgZW5kX3BvcyA9IHN0YXJ0X3BvcyArIHNlcV9sZW4KICAgICAgICAKICAgICAgICBpZiBlbmRfcG9zID4gc2VsZi5tYXhfc2VxX2xlbjoKICAgICAgICAgICAgbmV3X21heF9zZXFfbGVuID0gbWF4KHNlbGYubWF4X3NlcV9sZW4gKiAyLCBlbmRfcG9zKQogICAgICAgICAgICBzZWxmLl9idWlsZF9jYWNoZShuZXdfbWF4X3NlcV9sZW4pCiAgICAgICAgY29zID0gc2VsZi5jb3NfY2FjaGVbc3RhcnRfcG9zOmVuZF9wb3NdLnRvKHguZHR5cGUpCiAgICAgICAgc2luID0gc2VsZi5zaW5fY2FjaGVbc3RhcnRfcG9zOmVuZF9wb3NdLnRvKHguZHR5cGUpCiAgICAgICAgCiAgICAgICAgcmV0dXJuIHggKiBjb3MgKyBzZWxmLnJvdGF0ZV9oYWxmKHgpICogc2luCgpjbGFzcyBLVkNhY2hlKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwga3ZfY2FjaGVfc2hhcGU6IHR1cGxlLCAqKmt3YXJncykgLT4gTm9uZToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCoqa3dhcmdzKQogICAgICAgIHNlbGYucmVnaXN0ZXJfYnVmZmVyKCdkYXRhJywgdG9yY2guemVyb3Moa3ZfY2FjaGVfc2hhcGUsIGR0eXBlPXRvcmNoLmJmbG9hdDE2KSkKICAgICAgICBzZWxmLnNlcV9sZW4gPSAwCiAgICAgICAgc2VsZi56ZXJvKCkKCiAgICBkZWYgemVybyhzZWxmKSAtPiBOb25lOgogICAgICAgIHNlbGYuZGF0YS56ZXJvXygpCiAgICAgICAgc2VsZi5zZXFfbGVuID0gMAogICAgCiAgICBkZWYgZ2V0X2RhdGEoc2VsZikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHJldHVybiBzZWxmLmRhdGEKCiAgICBkZWYgZm9yd2FyZChzZWxmLCBjX2t2OiB0b3JjaC5UZW5zb3IpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICBhc3NlcnQgc2VsZi5zZXFfbGVuICsgY19rdi5zaXplKDEpIDw9IHNlbGYuZGF0YS5zaXplKDEpLCAiS1YgQ2FjaGUgRXhjZWVkZWQiCgogICAgICAgIHNlbGYuZGF0YVs6LCBzZWxmLnNlcV9sZW4gOiBzZWxmLnNlcV9sZW4gKyBjX2t2LnNpemUoMSksIDpdID0gY19rdgogICAgICAgIHNlbGYuc2VxX2xlbiArPSBjX2t2LnNpemUoMSkKCiAgICAgICAgcmV0dXJuIHNlbGYuZGF0YVs6LCA6c2VsZi5zZXFfbGVuXSwgc2VsZi5zZXFfbGVuCiAgICAKQGRhdGFjbGFzcwpjbGFzcyBDb25maWc6CiAgICBiYXRjaF9zaXplOiBpbnQKICAgIGRpbTogaW50CiAgICBuX2hlYWRzOiBpbnQKICAgIHFfbG9yYV9yYW5rOiBpbnQgCiAgICBrdl9sb3JhX3Jhbms6IGludAogICAgcWtfbm9wZV9oZWFkX2RpbTogaW50CiAgICBxa19yb3BlX2hlYWRfZGltOiBpbnQKICAgIHZfaGVhZF9kaW06IGludAogICAgc2VxX2xlbjogaW50CiAgICBtYXhfc2VxX2xlbjogaW50CiAgICBrdl9jYWNoZV9zaGFwZTogdHVwbGUKICAgIFFfcHJval9kb3duX3dlaWdodDogdG9yY2guVGVuc29yCiAgICBRX3Byb2pfdXBfd2VpZ2h0OiB0b3JjaC5UZW5zb3IKICAgIEtWX3Byb2pfZG93bl93ZWlnaHQ6IHRvcmNoLlRlbnNvcgogICAgS1ZfcHJval91cF93ZWlnaHQ6IHRvcmNoLlRlbnNvcgogICAgd29fd2VpZ2h0OiB0b3JjaC5UZW5zb3IKCmNsYXNzIE1MQShubi5Nb2R1bGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbmZpZzogQ29uZmlnKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmRpbSA9IGNvbmZpZy5kaW0KICAgICAgICBzZWxmLm5faGVhZHMgPSBjb25maWcubl9oZWFkcwogICAgICAgIHNlbGYucV9sb3JhX3JhbmsgPSBjb25maWcucV9sb3JhX3JhbmsKICAgICAgICBzZWxmLmt2X2xvcmFfcmFuayA9IGNvbmZpZy5rdl9sb3JhX3JhbmsKICAgICAgICBzZWxmLm5vcGVfaGVhZF9kaW0gPSBjb25maWcucWtfbm9wZV9oZWFkX2RpbQogICAgICAgIHNlbGYucm9wZV9oZWFkX2RpbSA9IGNvbmZpZy5xa19yb3BlX2hlYWRfZGltCiAgICAgICAgc2VsZi52X2hlYWRfZGltID0gY29uZmlnLnZfaGVhZF9kaW0KICAgICAgICAjIERvd24tcHJvamVjdGlvbiBtYXRyaWNlcwogICAgICAgIHNlbGYuUV9wcm9qX2Rvd24gPSBubi5MaW5lYXIoc2VsZi5kaW0sIHNlbGYucV9sb3JhX3JhbmssIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBiaWFzPUZhbHNlKQogICAgICAgIHNlbGYuS1ZfcHJval9kb3duID0gbm4uTGluZWFyKHNlbGYuZGltLCBzZWxmLmt2X2xvcmFfcmFuayArIHNlbGYucm9wZV9oZWFkX2RpbSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCgogICAgICAgIHNlbGYuUV9wcm9qX3VwID0gbm4uTGluZWFyKHNlbGYucV9sb3JhX3JhbmssIChzZWxmLm5vcGVfaGVhZF9kaW0gKyBzZWxmLnJvcGVfaGVhZF9kaW0pICogc2VsZi5uX2hlYWRzLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgYmlhcz1GYWxzZSkKICAgICAgICBzZWxmLktWX3Byb2pfdXAgPSBubi5MaW5lYXIoc2VsZi5rdl9sb3JhX3JhbmssIChzZWxmLm5vcGVfaGVhZF9kaW0gKyBzZWxmLnZfaGVhZF9kaW0pICogc2VsZi5uX2hlYWRzLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgYmlhcz1GYWxzZSkKCiAgICAgICAgIyBSb1BFIG9uIGhhbGYgZW1iZWRkaW5ncwogICAgICAgIHNlbGYucV9yb3BlID0gUm9QRShzZWxmLnJvcGVfaGVhZF9kaW0pCiAgICAgICAgc2VsZi5rX3JvcGUgPSBSb1BFKHNlbGYucm9wZV9oZWFkX2RpbSkKCiAgICAgICAgIyBPdXRwdXQgcHJvamVjdGlvbgogICAgICAgIHNlbGYud28gPSBubi5MaW5lYXIoc2VsZi52X2hlYWRfZGltICogc2VsZi5uX2hlYWRzLCBzZWxmLmRpbSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCiAgICAgICAgc2VsZi5lcHMgPSAxZS02CgogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yLCBrdl9jYWNoZTogS1ZDYWNoZSkgLT4gdG9yY2guVGVuc29yOgogICAgICAgICMgc2VxX2xlbiA9IDEgYWx3YXlzIGhlcmUKICAgICAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBtb2RlbF9kaW0gPSB4LnNpemUoKQoKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgICMgICAgICAgICAgICAgICAgIFN0ZXAgMTogSGFuZGxlIGRvd24tcHJvamVjdGlvbiArIEtWIGNhY2hlICAgICAgICAgICAgICAgICAgICAjCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgCiAgICAgICAgcV9sb3JhID0gc2VsZi5RX3Byb2pfZG93bih4KQogICAgICAgIGt2X2xvcmEgPSBzZWxmLktWX3Byb2pfZG93bih4KQogICAgICAgIGt2X2xvcmEsIGt2X2xlbiA9IGt2X2NhY2hlKGt2X2xvcmEpCiAgICAgICAgcXVlcnlfcG9zID0ga3ZfbGVuIC0gMQoKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgICMgICAgICAgICAgICAgICAgICBTdGVwIDI6IFVwLXByb2plY3QgYW5kIHByZXBhcmUgTm9QRSArIFJvUEUgICAgICAgICAgICAgICAgICAjCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICAgICAgIyBIYW5kbGUgcXVlcmllcyBRIGZpcnN0CiAgICAgICAgcV9ub3BlX2FuZF9yb3BlID0gc2VsZi5RX3Byb2pfdXAocV9sb3JhKS52aWV3KAogICAgICAgICAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBzZWxmLm5faGVhZHMsIHNlbGYubm9wZV9oZWFkX2RpbSArIHNlbGYucm9wZV9oZWFkX2RpbSkudHJhbnNwb3NlKDEsIDIpCiAgICAgICAgcV9ub3BlLCBxX3JvcGUgPSBxX25vcGVfYW5kX3JvcGUuc3BsaXQoW3NlbGYubm9wZV9oZWFkX2RpbSwgc2VsZi5yb3BlX2hlYWRfZGltXSwgZGltPS0xKQoKICAgICAgICAjIEhhbmRsZSBrZXlzIGFuZCB2YWx1ZXMgSy9WLiBWIGRvZXMgbm90IG5lZWQgUm9QRQogICAgICAgIGt2X25vcGUsIGtfcm9wZSA9IGt2X2xvcmEuc3BsaXQoW3NlbGYua3ZfbG9yYV9yYW5rLCBzZWxmLnJvcGVfaGVhZF9kaW1dLCBkaW09LTEpCiAgICAgICAga3Zfbm9wZSA9IHNlbGYuS1ZfcHJval91cChrdl9ub3BlKS52aWV3KAogICAgICAgICAgICBiYXRjaF9zaXplLCBrdl9sZW4sIHNlbGYubl9oZWFkcywgc2VsZi5ub3BlX2hlYWRfZGltICsgc2VsZi52X2hlYWRfZGltKS50cmFuc3Bvc2UoMSwgMikKICAgICAgICBrX25vcGUsIHYgPSBrdl9ub3BlLnNwbGl0KFtzZWxmLm5vcGVfaGVhZF9kaW0sIHNlbGYudl9oZWFkX2RpbV0sIGRpbT0tMSkKCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjICAgICAgICAgICAgICAgICAgICBTdGVwIDM6IEhhbmRsZSBSb1BFIFN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgICAgICMgQ29tcHV0ZSBSb1BFIGZvciBxdWVyaWVzIGFuZCBjb21iaW5lIHdpdGggbm8tUm9QRSBwYXJ0CiAgICAgICAgIyBxX3JvcGUgPSBxX3JvcGUucGVybXV0ZSgwLCAyLCAxLCAzKSAjIGJzIHggbl9oZWFkcyB4IHNlcV9sZW4geCByb3BlX2hlYWRfZGltCiAgICAgICAgcV9yb3BlID0gc2VsZi5xX3JvcGUocV9yb3BlLCBzdGFydF9wb3M9cXVlcnlfcG9zKQoKICAgICAgICAjIHFfbm9wZSA9IHFfbm9wZS5wZXJtdXRlKDAsIDIsIDEsIDMpICMgYnMgeCBuX2hlYWRzIHggc2VxX2xlbiB4IHJvcGVfaGVhZF9kaW0KICAgICAgICBxID0gdG9yY2guY29uY2F0KFtxX25vcGUsIHFfcm9wZV0sIGRpbT0tMSkKCgogICAgICAgICMgQ29tcHV0ZSBSb1BFIGZvciBrZXlzIGFuZCBjb21iaW5lIHdpdGggbm8tUm9QRSBwYXJ0CiAgICAgICAgIyBrX3JvcGUgPSBrX3JvcGVbOiwgTm9uZSwgOiwgOl0KICAgICAgICBrX3JvcGUgPSBrX3JvcGUudW5zcXVlZXplKDEpLmV4cGFuZCgtMSwgc2VsZi5uX2hlYWRzLCAtMSwgLTEpICAjIFticywgbl9oZWFkcywga3ZfbGVuLCByb3BlX2hlYWRfZGltXQogICAgICAgIGtfcm9wZSA9IHNlbGYua19yb3BlKGtfcm9wZSkKICAgICAgICBrID0gdG9yY2guY29uY2F0KFtrX25vcGUsIGtfcm9wZV0sIGRpbT0tMSkKICAgICAgICAgICAgICAgIAogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgIENvbXB1dGUgTXVsdGktaGVhZCBBdHRlbnRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICMKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgIAogICAgICAgIHNjb3JlcyA9IHRvcmNoLm1hdG11bChxLCBrLnRyYW5zcG9zZSgtMSwgLTIpKSAvIG1hdGguc3FydChzZWxmLnJvcGVfaGVhZF9kaW0gKyBzZWxmLm5vcGVfaGVhZF9kaW0pCiAgICAgICAgYXR0biA9IEYuc29mdG1heChzY29yZXMsIGRpbT0tMSkudG8odG9yY2guYmZsb2F0MTYpCiAgICAgICAgeSA9IHRvcmNoLm1hdG11bChhdHRuLCB2KS50cmFuc3Bvc2UoMSwgMikuY29udGlndW91cygpLnZpZXcoYmF0Y2hfc2l6ZSwgMSwgLTEpIAogICAgICAgIHkgPSBzZWxmLndvKHkpCgogICAgICAgIHJldHVybiB5LCBrdl9jYWNoZS5nZXRfZGF0YSgpCgpkZWYgZ2VuZXJhdGVfaW5wdXQoYmF0Y2hzaXplLCBkaW0sIGRxLCBwcmVmaWxsLCBzZWVkKToKICAgIGdlbiA9IHRvcmNoLkdlbmVyYXRvcihkZXZpY2U9J2N1ZGEnKQogICAgZ2VuLm1hbnVhbF9zZWVkKHNlZWQpCiAgICAKICAgIFFfcHJval9kb3duX3dlaWdodCA9IHRvcmNoLnJhbmRuKChkcSwgZGltKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpIC8gbWF0aC5zcXJ0KGRpbSkKICAgIEtWX3Byb2pfZG93bl93ZWlnaHQgPSB0b3JjaC5yYW5kbigoNTEyICsgNjQsIGRpbSksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKSAvIG1hdGguc3FydChkaW0pCiAgICBRX3Byb2pfdXBfd2VpZ2h0ID0gdG9yY2gucmFuZG4oKCgxMjggKyA2NCkgKiAxMjgsIGRxKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpIC8gbWF0aC5zcXJ0KGRxKQogICAgS1ZfcHJval91cF93ZWlnaHQgPSB0b3JjaC5yYW5kbigoKDEyOCArIDEyOCkgKiAxMjgsIDUxMiksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKSAvIG1hdGguc3FydCg1MTIpCiAgICB3b193ZWlnaHQgPSB0b3JjaC5yYW5kbigoZGltLCAxMjggKiAxMjgpLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZ2VuZXJhdG9yPWdlbiwgZGV2aWNlPSdjdWRhJykgLyBtYXRoLnNxcnQoMTI4ICogMTI4KQoKICAgIGNvbmZpZyA9IENvbmZpZygKICAgICAgICBiYXRjaF9zaXplPWJhdGNoc2l6ZSwKICAgICAgICBkaW09ZGltLAogICAgICAgIHFfbG9yYV9yYW5rPWRxLAogICAgICAgIG5faGVhZHM9MTI4LAogICAgICAgIGt2X2xvcmFfcmFuaz01MTIsCiAgICAgICAgcWtfbm9wZV9oZWFkX2RpbT0xMjgsCiAgICAgICAgcWtfcm9wZV9oZWFkX2RpbT02NCwKICAgICAgICB2X2hlYWRfZGltPTEyOCwKICAgICAgICBzZXFfbGVuPTEsCiAgICAgICAgbWF4X3NlcV9sZW49ODE5MiwKICAgICAgICBrdl9jYWNoZV9zaGFwZT0oYmF0Y2hzaXplLCA4MTkyLCA1MTIgKyA2NCksCiAgICAgICAgUV9wcm9qX2Rvd25fd2VpZ2h0PVFfcHJval9kb3duX3dlaWdodCwKICAgICAgICBRX3Byb2pfdXBfd2VpZ2h0PVFfcHJval91cF93ZWlnaHQsCiAgICAgICAgS1ZfcHJval9kb3duX3dlaWdodD1LVl9wcm9qX2Rvd25fd2VpZ2h0LAogICAgICAgIEtWX3Byb2pfdXBfd2VpZ2h0PUtWX3Byb2pfdXBfd2VpZ2h0LAogICAgICAgIHdvX3dlaWdodD13b193ZWlnaHQsCiAgICApCiAgICB4ID0gdG9yY2gucmFuZG4oKGNvbmZpZy5iYXRjaF9zaXplLCAxLCBjb25maWcuZGltKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpCiAgICAKICAgICMgUHJlLWZpbGwgS1YgY2FjaGUKICAgIGt2X2NhY2hlID0gS1ZDYWNoZSgoY29uZmlnLmJhdGNoX3NpemUsIGNvbmZpZy5tYXhfc2VxX2xlbiwgY29uZmlnLmt2X2xvcmFfcmFuayArIGNvbmZpZy5xa19yb3BlX2hlYWRfZGltKSkudG8oJ2N1ZGEnKQogICAgcHJlX2ZpbGxlZF9jYWNoZSA9IHRvcmNoLnJhbmRuKChjb25maWcuYmF0Y2hfc2l6ZSwgcHJlZmlsbCwgY29uZmlnLmt2X2xvcmFfcmFuayArIGNvbmZpZy5xa19yb3BlX2hlYWRfZGltKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKQogICAga3ZfY2FjaGUocHJlX2ZpbGxlZF9jYWNoZSkKCiAgICByZXR1cm4gY29uZmlnLCB4LCBrdl9jYWNoZQoKCmRlZiBjdXN0b21fa2VybmVsKGRhdGE6IGlucHV0X3QpIC0+IG91dHB1dF90OgogICAgY29uZmlnLCB4LCBrdl9jYWNoZSA9IGRhdGEKICAgIG1vZGVsID0gTUxBKGNvbmZpZykudG8oJ2N1ZGEnKQogICAgbW9kZWwuUV9wcm9qX2Rvd24ud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKGNvbmZpZy5RX3Byb2pfZG93bl93ZWlnaHQpCiAgICBtb2RlbC5RX3Byb2pfdXAud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKGNvbmZpZy5RX3Byb2pfdXBfd2VpZ2h0KQogICAgbW9kZWwuS1ZfcHJval9kb3duLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuS1ZfcHJval9kb3duX3dlaWdodCkKICAgIG1vZGVsLktWX3Byb2pfdXAud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKGNvbmZpZy5LVl9wcm9qX3VwX3dlaWdodCkKICAgIG1vZGVsLndvLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcud29fd2VpZ2h0KQoKICAgIG91dHB1dCwga3ZfY2FjaGUgPSBtb2RlbCh4LCBrdl9jYWNoZSkKICAgIHJldHVybiBvdXRwdXQsIGt2X2NhY2hlCgo=

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

Best evidence level for this revision: reported

JSON