Skip to content
KernelIndex
Search⌘K

submission 29734

KernelBot user 233 · 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_31_05_2025.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mla-decode-29734?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.07s
#66 of 79
2025-06-01

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:033447661f709bf5236a41605fbfa00ad04344d5396f21c7eaabe3c280a0bb24
license declaredunknown
license concludedunknown
imported2026-08-15

Kernel source

mla_31_05_2025.py1 lines
aW1wb3J0IG1hdGgKZnJvbSBkYXRhY2xhc3NlcyBpbXBvcnQgZGF0YWNsYXNzCmltcG9ydCB0b3JjaApmcm9tIHRvcmNoIGltcG9ydCBubgppbXBvcnQgdG9yY2gubm4uZnVuY3Rpb25hbCBhcyBGCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKZnJvbSB1dGlscyBpbXBvcnQgbWFrZV9tYXRjaF9yZWZlcmVuY2UKCmNsYXNzIFJvUEUobm4uTW9kdWxlKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkX21vZGVsOiBpbnQpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYuZF9tb2RlbCA9IGRfbW9kZWwKICAgICAgICB0aGV0YSA9IDEwMDAwICoqICgtdG9yY2guYXJhbmdlKDAsIGRfbW9kZWwvLzIsZHR5cGU9dG9yY2guYmZsb2F0MTYpIC8gKGRfbW9kZWwvLzIpKQogICAgICAgIHNlbGYucmVnaXN0ZXJfYnVmZmVyKCJ0aGV0YSIsIHRoZXRhKQoKICAgIGRlZiByb3RhdGVfaGFsZihzZWxmLCB4OiB0b3JjaC5UZW5zb3IpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICB4MSwgeDIgPSB4LmNodW5rKDIsIGRpbT0tMSkKICAgICAgICByZXR1cm4gdG9yY2guY2F0KCgteDIsIHgxKSwgZGltPS0xKQoKICAgIGRlZiBmb3J3YXJkKHNlbGYsIHg6IHRvcmNoLlRlbnNvciwgc3RhcnRfcG9zOiBpbnQgPSAwKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgc2VxX2xlbiA9IHguc2l6ZSgtMikKICAgICAgICBkX21vZGVsID0geC5zaXplKC0xKQogICAgICAgIGFzc2VydCBkX21vZGVsID09IHNlbGYuZF9tb2RlbAogICAgICAgIHNlcV9pZHggPSB0b3JjaC5hcmFuZ2Uoc3RhcnRfcG9zLCBzdGFydF9wb3MgKyBzZXFfbGVuLCBkZXZpY2U9eC5kZXZpY2UpCiAgICAgICAgaWR4X3RoZXRhID0gdG9yY2guZWluc3VtKCdzLGQtPnNkJywgc2VxX2lkeCwgc2VsZi50aGV0YSkKICAgICAgICBpZHhfdGhldGEyID0gdG9yY2guY2F0KFtpZHhfdGhldGEsIGlkeF90aGV0YV0sIGRpbT0tMSkKICAgICAgICBjb3MgPSBpZHhfdGhldGEyLmNvcygpLnRvKHRvcmNoLmJmbG9hdDE2KQogICAgICAgIHNpbiA9IGlkeF90aGV0YTIuc2luKCkudG8odG9yY2guYmZsb2F0MTYpCiAgICAgICAgcmV0dXJuIHggKiBjb3MgKyBzZWxmLnJvdGF0ZV9oYWxmKHgpICogc2luCgpjbGFzcyBLVkNhY2hlKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwga3ZfY2FjaGVfc2hhcGU6IHR1cGxlLCAqKmt3YXJncykgLT4gTm9uZToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCoqa3dhcmdzKQogICAgICAgIHNlbGYucmVnaXN0ZXJfYnVmZmVyKCdkYXRhJywgdG9yY2guemVyb3Moa3ZfY2FjaGVfc2hhcGUsIGR0eXBlPXRvcmNoLmJmbG9hdDE2KSkKICAgICAgICBzZWxmLnNlcV9sZW4gPSAwCiAgICAgICAgc2VsZi56ZXJvKCkKCiAgICBkZWYgemVybyhzZWxmKSAtPiBOb25lOgogICAgICAgIHNlbGYuZGF0YS56ZXJvXygpCiAgICAKICAgIGRlZiBnZXRfZGF0YShzZWxmKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgcmV0dXJuIHNlbGYuZGF0YQoKICAgIGRlZiBmb3J3YXJkKHNlbGYsIGNfa3Y6IHRvcmNoLlRlbnNvcikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIGFzc2VydCBzZWxmLnNlcV9sZW4gKyBjX2t2LnNpemUoMSkgPD0gc2VsZi5kYXRhLnNpemUoMSksICJLViBDYWNoZSBFeGNlZWRlZCIKCiAgICAgICAgc2VsZi5kYXRhID0gc2VsZi5kYXRhLnRvKGNfa3YuZHR5cGUpCiAgICAgICAgc2VsZi5kYXRhWwogICAgICAgICAgICA6LCBzZWxmLnNlcV9sZW4gOiBzZWxmLnNlcV9sZW4gKyBjX2t2LnNpemUoMSksIDoKICAgICAgICBdID0gY19rdgogICAgICAgIHNlbGYuc2VxX2xlbiArPSBjX2t2LnNpemUoMSkKCiAgICAgICAgcmV0dXJuIHNlbGYuZGF0YVs6LCA6c2VsZi5zZXFfbGVuXSwgc2VsZi5zZXFfbGVuCiAgICAKQGRhdGFjbGFzcwpjbGFzcyBDb25maWc6CiAgICBiYXRjaF9zaXplOiBpbnQKICAgIGRpbTogaW50CiAgICBuX2hlYWRzOiBpbnQKICAgIHFfbG9yYV9yYW5rOiBpbnQgCiAgICBrdl9sb3JhX3Jhbms6IGludAogICAgcWtfbm9wZV9oZWFkX2RpbTogaW50CiAgICBxa19yb3BlX2hlYWRfZGltOiBpbnQKICAgIHZfaGVhZF9kaW06IGludAogICAgc2VxX2xlbjogaW50CiAgICBtYXhfc2VxX2xlbjogaW50CiAgICBrdl9jYWNoZV9zaGFwZTogdHVwbGUKICAgIFFfcHJval9kb3duX3dlaWdodDogdG9yY2guVGVuc29yCiAgICBRX3Byb2pfdXBfd2VpZ2h0OiB0b3JjaC5UZW5zb3IKICAgIEtWX3Byb2pfZG93bl93ZWlnaHQ6IHRvcmNoLlRlbnNvcgogICAgS1ZfcHJval91cF93ZWlnaHQ6IHRvcmNoLlRlbnNvcgogICAgd29fd2VpZ2h0OiB0b3JjaC5UZW5zb3IKCmNsYXNzIE1MQShubi5Nb2R1bGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbmZpZzogQ29uZmlnKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmRpbSA9IGNvbmZpZy5kaW0KICAgICAgICBzZWxmLm5faGVhZHMgPSBjb25maWcubl9oZWFkcwogICAgICAgIHNlbGYucV9sb3JhX3JhbmsgPSBjb25maWcucV9sb3JhX3JhbmsKICAgICAgICBzZWxmLmt2X2xvcmFfcmFuayA9IGNvbmZpZy5rdl9sb3JhX3JhbmsKICAgICAgICBzZWxmLm5vcGVfaGVhZF9kaW0gPSBjb25maWcucWtfbm9wZV9oZWFkX2RpbQogICAgICAgIHNlbGYucm9wZV9oZWFkX2RpbSA9IGNvbmZpZy5xa19yb3BlX2hlYWRfZGltCiAgICAgICAgc2VsZi52X2hlYWRfZGltID0gY29uZmlnLnZfaGVhZF9kaW0KICAgICAgICAjIERvd24tcHJvamVjdGlvbiBtYXRyaWNlcwogICAgICAgIHNlbGYuUV9wcm9qX2Rvd24gPSBubi5MaW5lYXIoc2VsZi5kaW0sIHNlbGYucV9sb3JhX3JhbmssIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBiaWFzPUZhbHNlKQogICAgICAgIHNlbGYuS1ZfcHJval9kb3duID0gbm4uTGluZWFyKHNlbGYuZGltLCBzZWxmLmt2X2xvcmFfcmFuayArIHNlbGYucm9wZV9oZWFkX2RpbSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCgogICAgICAgICMgVXAtcHJvamVjdGlvbiBhbmQgcm9wZSBwcm9qZWN0aW9uIG1hdHJpY2VzCiAgICAgICAgc2VsZi5RX3Byb2pfdXAgPSBubi5MaW5lYXIoc2VsZi5xX2xvcmFfcmFuaywgKHNlbGYubm9wZV9oZWFkX2RpbSArIHNlbGYucm9wZV9oZWFkX2RpbSkgKiBzZWxmLm5faGVhZHMsIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBiaWFzPUZhbHNlKQogICAgICAgIHNlbGYuS1ZfcHJval91cCA9IG5uLkxpbmVhcihzZWxmLmt2X2xvcmFfcmFuaywgKHNlbGYubm9wZV9oZWFkX2RpbSArIHNlbGYudl9oZWFkX2RpbSkgKiBzZWxmLm5faGVhZHMsIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBiaWFzPUZhbHNlKQoKICAgICAgICAjIFJvUEUgb24gaGFsZiBlbWJlZGRpbmdzCiAgICAgICAgc2VsZi5xX3JvcGUgPSBSb1BFKHNlbGYucm9wZV9oZWFkX2RpbSkKICAgICAgICBzZWxmLmtfcm9wZSA9IFJvUEUoc2VsZi5yb3BlX2hlYWRfZGltKQoKICAgICAgICAjIE91dHB1dCBwcm9qZWN0aW9uCiAgICAgICAgc2VsZi53byA9IG5uLkxpbmVhcihzZWxmLnZfaGVhZF9kaW0gKiBzZWxmLm5faGVhZHMsIHNlbGYuZGltLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgYmlhcz1GYWxzZSkKICAgICAgICBzZWxmLmVwcyA9IDFlLTYKICAgCiAgICBkZWYgZm9yd2FyZChzZWxmLCB4OiB0b3JjaC5UZW5zb3IsIGt2X2NhY2hlOiBLVkNhY2hlKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgIyBzZXFfbGVuID0gMSBhbHdheXMgaGVyZQogICAgICAgIGJhdGNoX3NpemUsIHNlcV9sZW4sIG1vZGVsX2RpbSA9IHguc2l6ZSgpCgogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgIyAgICAgICAgICAgICAgICAgU3RlcCAxOiBIYW5kbGUgZG93bi1wcm9qZWN0aW9uICsgS1YgY2FjaGUgICAgICAgICAgICAgICAgICAgICMKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgIHFfbG9yYSA9IHNlbGYuUV9wcm9qX2Rvd24oeCkKICAgICAgICBrdl9sb3JhID0gc2VsZi5LVl9wcm9qX2Rvd24oeCkKICAgICAgICBrdl9sb3JhLCBrdl9sZW4gPSBrdl9jYWNoZShrdl9sb3JhKQogICAgICAgIHF1ZXJ5X3BvcyA9IGt2X2xlbiAtIDEKCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjICAgICAgICAgICAgICAgICAgU3RlcCAyOiBVcC1wcm9qZWN0IGFuZCBwcmVwYXJlIE5vUEUgKyBSb1BFICAgICAgICAgICAgICAgICAgIwogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgICAgICMgSGFuZGxlIHF1ZXJpZXMgUSBmaXJzdAogICAgICAgIHFfbm9wZV9hbmRfcm9wZSA9IHNlbGYuUV9wcm9qX3VwKHFfbG9yYSkudmlldygKICAgICAgICAgICAgYmF0Y2hfc2l6ZSwgc2VxX2xlbiwgc2VsZi5uX2hlYWRzLCBzZWxmLm5vcGVfaGVhZF9kaW0gKyBzZWxmLnJvcGVfaGVhZF9kaW0pCiAgICAgICAgcV9ub3BlLCBxX3JvcGUgPSB0b3JjaC5zcGxpdChxX25vcGVfYW5kX3JvcGUsIFtzZWxmLm5vcGVfaGVhZF9kaW0sIHNlbGYucm9wZV9oZWFkX2RpbV0sIGRpbT0tMSkKCiAgICAgICAgIyBIYW5kbGUga2V5cyBhbmQgdmFsdWVzIEsvVi4gViBkb2VzIG5vdCBuZWVkIFJvUEUKICAgICAgICBrdl9ub3BlLCBrX3JvcGUgPSB0b3JjaC5zcGxpdChrdl9sb3JhLCBbc2VsZi5rdl9sb3JhX3JhbmssIHNlbGYucm9wZV9oZWFkX2RpbV0sIGRpbT0tMSkKICAgICAgICBrdl9ub3BlID0gc2VsZi5LVl9wcm9qX3VwKGt2X25vcGUpLnZpZXcoCiAgICAgICAgICAgIGJhdGNoX3NpemUsIGt2X2xlbiwgc2VsZi5uX2hlYWRzLCBzZWxmLm5vcGVfaGVhZF9kaW0gKyBzZWxmLnZfaGVhZF9kaW0pCiAgICAgICAga19ub3BlLCB2ID0gdG9yY2guc3BsaXQoa3Zfbm9wZSwgW3NlbGYubm9wZV9oZWFkX2RpbSwgc2VsZi52X2hlYWRfZGltXSwgZGltPS0xKQoKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgICMgICAgICAgICAgICAgICAgICAgIFN0ZXAgMzogSGFuZGxlIFJvUEUgU3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICAgICAgIyBDb21wdXRlIFJvUEUgZm9yIHF1ZXJpZXMgYW5kIGNvbWJpbmUgd2l0aCBuby1Sb1BFIHBhcnQKICAgICAgICBxX3JvcGUgPSBxX3JvcGUucGVybXV0ZSgwLCAyLCAxLCAzKSAjIGJzIHggbl9oZWFkcyB4IHNlcV9sZW4geCByb3BlX2hlYWRfZGltCiAgICAgICAgcV9yb3BlID0gc2VsZi5xX3JvcGUocV9yb3BlLCBzdGFydF9wb3M9cXVlcnlfcG9zKQoKICAgICAgICBxX25vcGUgPSBxX25vcGUucGVybXV0ZSgwLCAyLCAxLCAzKSAjIGJzIHggbl9oZWFkcyB4IHNlcV9sZW4geCByb3BlX2hlYWRfZGltCiAgICAgICAgcSA9IHRvcmNoLmNvbmNhdChbcV9ub3BlLCBxX3JvcGVdLCBkaW09LTEpCgoKICAgICAgICAjIENvbXB1dGUgUm9QRSBmb3Iga2V5cyBhbmQgY29tYmluZSB3aXRoIG5vLVJvUEUgcGFydAogICAgICAgIGtfcm9wZSA9IGtfcm9wZVs6LCBOb25lLCA6LCA6XQogICAgICAgIGtfcm9wZSA9IHNlbGYua19yb3BlKGtfcm9wZSkuZXhwYW5kKC0xLHNlbGYubl9oZWFkcywtMSwtMSkKICAgICAgICBrX25vcGUgPSBrX25vcGUucGVybXV0ZSgwLCAyLCAxLCAzKSAjIGJzIHgga3ZfbGVuIHggbl9oZWFkcyB4IHJvcGVfaGVhZF9kaW0KICAgICAgICBrID0gdG9yY2guY29uY2F0KFtrX25vcGUsIGtfcm9wZV0sIGRpbT0tMSkKICAgICAgICAgICAgICAgIAogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgIENvbXB1dGUgTXVsdGktaGVhZCBBdHRlbnRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICMKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgIHYgPSB2LnBlcm11dGUoMCwgMiwgMSwgMykgIyBicyB4IG5faGVhZHMgeCBrdl9sZW4geCB2X2hlYWRfZGltCiAgICAgICAgc2NvcmVzID0gdG9yY2gubWF0bXVsKHEsIGsudHJhbnNwb3NlKC0xLCAtMikpIC8gbWF0aC5zcXJ0KHNlbGYucm9wZV9oZWFkX2RpbSArIHNlbGYubm9wZV9oZWFkX2RpbSkKICAgICAgICBhdHRuID0gRi5zb2Z0bWF4KHNjb3JlcywgZGltPS0xKS50byh0b3JjaC5iZmxvYXQxNikKICAgICAgICB5ID0gdG9yY2gubWF0bXVsKGF0dG4sIHYpLnZpZXcoYmF0Y2hfc2l6ZSwgMSwgLTEpCiAgICAgICAgeSA9IHNlbGYud28oeSkKCiAgICAgICAgcmV0dXJuIHksIGt2X2NhY2hlLmdldF9kYXRhKCkKCmRlZiBnZW5lcmF0ZV9pbnB1dChiYXRjaHNpemUsIGRpbSwgZHEsIHByZWZpbGwsIHNlZWQpOgogICAgIyBTaXplcyBkZXJpdmVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kZWVwc2Vlay1haS9EZWVwU2Vlay1WMy9ibG9iL21haW4vaW5mZXJlbmNlL21vZGVsLnB5CiAgICBnZW4gPSB0b3JjaC5HZW5lcmF0b3IoZGV2aWNlPSdjdWRhJykKICAgIGdlbi5tYW51YWxfc2VlZChzZWVkKQogICAgCiAgICAjIEdlbmVyYXRlIHdlaWdodHMgZm9yIGxpbmVhciBsYXllcnMKICAgIFFfcHJval9kb3duX3dlaWdodCA9IHRvcmNoLnJhbmRuKChkcSwgZGltKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpIC8gbWF0aC5zcXJ0KGRpbSkKICAgIEtWX3Byb2pfZG93bl93ZWlnaHQgPSB0b3JjaC5yYW5kbigoNTEyICsgNjQsIGRpbSksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKSAvIG1hdGguc3FydChkaW0pCiAgICBRX3Byb2pfdXBfd2VpZ2h0ID0gdG9yY2gucmFuZG4oKCgxMjggKyA2NCkgKiAxMjgsIGRxKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpIC8gbWF0aC5zcXJ0KGRxKQogICAgS1ZfcHJval91cF93ZWlnaHQgPSB0b3JjaC5yYW5kbigoKDEyOCArIDEyOCkgKiAxMjgsIDUxMiksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKSAvIG1hdGguc3FydCg1MTIpCiAgICB3b193ZWlnaHQgPSB0b3JjaC5yYW5kbigoZGltLCAxMjggKiAxMjgpLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZ2VuZXJhdG9yPWdlbiwgZGV2aWNlPSdjdWRhJykgLyBtYXRoLnNxcnQoMTI4ICogMTI4KQoKICAgIGNvbmZpZyA9IENvbmZpZygKICAgICAgICBiYXRjaF9zaXplPWJhdGNoc2l6ZSwKICAgICAgICBkaW09ZGltLAogICAgICAgIHFfbG9yYV9yYW5rPWRxLAogICAgICAgIG5faGVhZHM9MTI4LAogICAgICAgIGt2X2xvcmFfcmFuaz01MTIsCiAgICAgICAgcWtfbm9wZV9oZWFkX2RpbT0xMjgsCiAgICAgICAgcWtfcm9wZV9oZWFkX2RpbT02NCwKICAgICAgICB2X2hlYWRfZGltPTEyOCwKICAgICAgICBzZXFfbGVuPTEsCiAgICAgICAgbWF4X3NlcV9sZW49ODE5MiwKICAgICAgICBrdl9jYWNoZV9zaGFwZT0oYmF0Y2hzaXplLCA4MTkyLCA1MTIgKyA2NCksCiAgICAgICAgUV9wcm9qX2Rvd25fd2VpZ2h0PVFfcHJval9kb3duX3dlaWdodCwKICAgICAgICBRX3Byb2pfdXBfd2VpZ2h0PVFfcHJval91cF93ZWlnaHQsCiAgICAgICAgS1ZfcHJval9kb3duX3dlaWdodD1LVl9wcm9qX2Rvd25fd2VpZ2h0LAogICAgICAgIEtWX3Byb2pfdXBfd2VpZ2h0PUtWX3Byb2pfdXBfd2VpZ2h0LAogICAgICAgIHdvX3dlaWdodD13b193ZWlnaHQsCiAgICApCiAgICB4ID0gdG9yY2gucmFuZG4oKGNvbmZpZy5iYXRjaF9zaXplLCAxLCBjb25maWcuZGltKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpCiAgICAKICAgICMgUHJlLWZpbGwgS1YgY2FjaGUKICAgIGt2X2NhY2hlID0gS1ZDYWNoZSgoY29uZmlnLmJhdGNoX3NpemUsIGNvbmZpZy5tYXhfc2VxX2xlbiwgY29uZmlnLmt2X2xvcmFfcmFuayArIGNvbmZpZy5xa19yb3BlX2hlYWRfZGltKSkudG8oJ2N1ZGEnKQogICAgcHJlX2ZpbGxlZF9jYWNoZSA9IHRvcmNoLnJhbmRuKChjb25maWcuYmF0Y2hfc2l6ZSwgcHJlZmlsbCwgY29uZmlnLmt2X2xvcmFfcmFuayArIGNvbmZpZy5xa19yb3BlX2hlYWRfZGltKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKQogICAga3ZfY2FjaGUocHJlX2ZpbGxlZF9jYWNoZSkKCiAgICByZXR1cm4gY29uZmlnLCB4LCBrdl9jYWNoZQoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBjb25maWcsIHgsIGt2X2NhY2hlID0gZGF0YQoKICAgICMgTG9hZCBpbiBtb2RlbCB3ZWlnaHRzCiAgICBtb2RlbCA9IE1MQShjb25maWcpLnRvKCdjdWRhJykKICAgIG1vZGVsLlFfcHJval9kb3duLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuUV9wcm9qX2Rvd25fd2VpZ2h0KQogICAgbW9kZWwuUV9wcm9qX3VwLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuUV9wcm9qX3VwX3dlaWdodCkKICAgIG1vZGVsLktWX3Byb2pfZG93bi53ZWlnaHQgPSBubi5QYXJhbWV0ZXIoY29uZmlnLktWX3Byb2pfZG93bl93ZWlnaHQpCiAgICBtb2RlbC5LVl9wcm9qX3VwLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuS1ZfcHJval91cF93ZWlnaHQpCiAgICBtb2RlbC53by53ZWlnaHQgPSBubi5QYXJhbWV0ZXIoY29uZmlnLndvX3dlaWdodCkKCiAgICBvdXRwdXQsIGt2X2NhY2hlID0gbW9kZWwoeCwga3ZfY2FjaGUpCiAgICByZXR1cm4gb3V0cHV0LCBrdl9jYWNoZQoKCgoK

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

Best evidence level for this revision: reported

JSON