Skip to content
KernelIndex
Search⌘K

submission 29558

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

reference_orig.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mla-decode-29558?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
#65 of 79
2025-05-31

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:a7b8bae30e151b8bb57582b3178a969a29dddc130338d0dcdb29a879039743c9
license declaredunknown
license concludedunknown
imported2026-08-15

Kernel source

reference_orig.py1 lines
IyFQT1BDT1JOIGxlYWRlcmJvYXJkIGFtZC1tbGEtZGVjb2RlCmltcG9ydCBtYXRoCmZyb20gZGF0YWNsYXNzZXMgaW1wb3J0IGRhdGFjbGFzcwppbXBvcnQgdG9yY2gKZnJvbSB0b3JjaCBpbXBvcnQgbm4KaW1wb3J0IHRvcmNoLm5uLmZ1bmN0aW9uYWwgYXMgRgpmcm9tIHRhc2sgaW1wb3J0IGlucHV0X3QsIG91dHB1dF90CmZyb20gdXRpbHMgaW1wb3J0IG1ha2VfbWF0Y2hfcmVmZXJlbmNlCgpjbGFzcyBSb1BFKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgZF9tb2RlbDogaW50KToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmRfbW9kZWwgPSBkX21vZGVsCiAgICAgICAgdGhldGEgPSAxMDAwMCAqKiAoLXRvcmNoLmFyYW5nZSgwLCBkX21vZGVsLy8yLGR0eXBlPXRvcmNoLmJmbG9hdDE2KSAvIChkX21vZGVsLy8yKSkKICAgICAgICBzZWxmLnJlZ2lzdGVyX2J1ZmZlcigidGhldGEiLCB0aGV0YSkKCiAgICBkZWYgcm90YXRlX2hhbGYoc2VsZiwgeDogdG9yY2guVGVuc29yKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgeDEsIHgyID0geC5jaHVuaygyLCBkaW09LTEpCiAgICAgICAgcmV0dXJuIHRvcmNoLmNhdCgoLXgyLCB4MSksIGRpbT0tMSkKCiAgICBkZWYgZm9yd2FyZChzZWxmLCB4OiB0b3JjaC5UZW5zb3IsIHN0YXJ0X3BvczogaW50ID0gMCkgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHNlcV9sZW4gPSB4LnNpemUoLTIpCiAgICAgICAgZF9tb2RlbCA9IHguc2l6ZSgtMSkKICAgICAgICBhc3NlcnQgZF9tb2RlbCA9PSBzZWxmLmRfbW9kZWwKICAgICAgICBzZXFfaWR4ID0gdG9yY2guYXJhbmdlKHN0YXJ0X3Bvcywgc3RhcnRfcG9zICsgc2VxX2xlbiwgZGV2aWNlPXguZGV2aWNlKQogICAgICAgIGlkeF90aGV0YSA9IHRvcmNoLmVpbnN1bSgncyxkLT5zZCcsIHNlcV9pZHgsIHNlbGYudGhldGEpCiAgICAgICAgaWR4X3RoZXRhMiA9IHRvcmNoLmNhdChbaWR4X3RoZXRhLCBpZHhfdGhldGFdLCBkaW09LTEpCiAgICAgICAgY29zID0gaWR4X3RoZXRhMi5jb3MoKS50byh0b3JjaC5iZmxvYXQxNikKICAgICAgICBzaW4gPSBpZHhfdGhldGEyLnNpbigpLnRvKHRvcmNoLmJmbG9hdDE2KQogICAgICAgIHJldHVybiB4ICogY29zICsgc2VsZi5yb3RhdGVfaGFsZih4KSAqIHNpbgoKY2xhc3MgS1ZDYWNoZShubi5Nb2R1bGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGt2X2NhY2hlX3NoYXBlOiB0dXBsZSwgKiprd2FyZ3MpIC0+IE5vbmU6CiAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqKmt3YXJncykKICAgICAgICBzZWxmLnJlZ2lzdGVyX2J1ZmZlcignZGF0YScsIHRvcmNoLnplcm9zKGt2X2NhY2hlX3NoYXBlLCBkdHlwZT10b3JjaC5iZmxvYXQxNikpCiAgICAgICAgc2VsZi5zZXFfbGVuID0gMAogICAgICAgIHNlbGYuemVybygpCgogICAgZGVmIHplcm8oc2VsZikgLT4gTm9uZToKICAgICAgICBzZWxmLmRhdGEuemVyb18oKQogICAgCiAgICBkZWYgZ2V0X2RhdGEoc2VsZikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHJldHVybiBzZWxmLmRhdGEKCiAgICBkZWYgZm9yd2FyZChzZWxmLCBjX2t2OiB0b3JjaC5UZW5zb3IpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICBhc3NlcnQgc2VsZi5zZXFfbGVuICsgY19rdi5zaXplKDEpIDw9IHNlbGYuZGF0YS5zaXplKDEpLCAiS1YgQ2FjaGUgRXhjZWVkZWQiCgogICAgICAgIHNlbGYuZGF0YSA9IHNlbGYuZGF0YS50byhjX2t2LmR0eXBlKQogICAgICAgIHNlbGYuZGF0YVsKICAgICAgICAgICAgOiwgc2VsZi5zZXFfbGVuIDogc2VsZi5zZXFfbGVuICsgY19rdi5zaXplKDEpLCA6CiAgICAgICAgXSA9IGNfa3YKICAgICAgICBzZWxmLnNlcV9sZW4gKz0gY19rdi5zaXplKDEpCgogICAgICAgIHJldHVybiBzZWxmLmRhdGFbOiwgOnNlbGYuc2VxX2xlbl0sIHNlbGYuc2VxX2xlbgogICAgCkBkYXRhY2xhc3MKY2xhc3MgQ29uZmlnOgogICAgYmF0Y2hfc2l6ZTogaW50CiAgICBkaW06IGludAogICAgbl9oZWFkczogaW50CiAgICBxX2xvcmFfcmFuazogaW50IAogICAga3ZfbG9yYV9yYW5rOiBpbnQKICAgIHFrX25vcGVfaGVhZF9kaW06IGludAogICAgcWtfcm9wZV9oZWFkX2RpbTogaW50CiAgICB2X2hlYWRfZGltOiBpbnQKICAgIHNlcV9sZW46IGludAogICAgbWF4X3NlcV9sZW46IGludAogICAga3ZfY2FjaGVfc2hhcGU6IHR1cGxlCiAgICBRX3Byb2pfZG93bl93ZWlnaHQ6IHRvcmNoLlRlbnNvcgogICAgUV9wcm9qX3VwX3dlaWdodDogdG9yY2guVGVuc29yCiAgICBLVl9wcm9qX2Rvd25fd2VpZ2h0OiB0b3JjaC5UZW5zb3IKICAgIEtWX3Byb2pfdXBfd2VpZ2h0OiB0b3JjaC5UZW5zb3IKICAgIHdvX3dlaWdodDogdG9yY2guVGVuc29yCgppbXBvcnQgdHJpdG9uCmltcG9ydCB0cml0b24ubGFuZ3VhZ2UgYXMgdGwKZnJvbSB0eXBpbmcgaW1wb3J0IFR1cGxlCgpAdHJpdG9uLmppdApkZWYgcV9wcm9qX2Rvd25fdHJpdG9uKAogICAgWF9wdHIsICAgICAgICAgICAgICMgUG9pbnRlciB0byBpbnB1dCB0ZW5zb3IgeCBbTSwgS10KICAgIFdnX3B0ciwgICAgICAgICAgICAjIFBvaW50ZXIgdG8gZ2F0ZSB3ZWlnaHQgdGVuc29yIFdfZyBbTiwgS10KICAgIEluZGljZXNfcHRyLCAgICAgICAjIFBvaW50ZXIgdG8gb3V0cHV0IGluZGljZXMgdGVuc29yIFtNLCB0b3Bfa10gKGludDY0KQogICAgU2NvcmVzX3B0ciwgICAgICAgICMgUG9pbnRlciB0byBvdXRwdXQgc2NvcmVzIHRlbnNvciBbTSwgdG9wX2tdCiAgICBNLCAgICAgICAgICAgICAgICAgIyBOdW1iZXIgb2YgdG9rZW5zIChicyAqIHNlcV9sZW4pCiAgICBOOiB0bC5jb25zdGV4cHIsICAgICAgICAgICAgICAgICAjIE51bWJlciBvZiBleHBlcnRzCiAgICBLLCAgICAgICAgICAgICAgICAgIyBIaWRkZW4gZGltZW5zaW9uCiAgICBzdHJpZGVfeG0sIHN0cmlkZV94aywgIyBTdHJpZGVzIGZvciBYIChlbGVtZW50IHN0cmlkZSkKICAgIHN0cmlkZV93biwgc3RyaWRlX3drLCAjIFN0cmlkZXMgZm9yIFdfZyAoZWxlbWVudCBzdHJpZGUpCiAgICBzdHJpZGVfaW5kaWNlc19tLCBzdHJpZGVfaW5kaWNlc19rLCAjIFN0cmlkZXMgZm9yIEluZGljZXMgKGVsZW1lbnQgc3RyaWRlKQogICAgc3RyaWRlX3Njb3Jlc19tLCBzdHJpZGVfc2NvcmVzX2ssICAgIyBTdHJpZGVzIGZvciBTY29yZXMgKGVsZW1lbnQgc3RyaWRlKQogICAgdG9wX2s6IHRsLmNvbnN0ZXhwciwgICAgICAgICAgIyBOdW1iZXIgb2YgZXhwZXJ0cyBwZXIgdG9rZW4gKGNvbXBpbGUtdGltZSBjb25zdGFudCkKICAgIEJMT0NLX0s6IHRsLmNvbnN0ZXhwciwgICAgICAgICMgVGlsZSBzaXplIGZvciBLIGRpbWVuc2lvbgopOgogICAgIiIiCiAgICBUcml0b24ga2VybmVsIGZvciBNb0UgR2F0aW5nOiBGdXNlZCBNYXRtdWwoeCwgV19nLlQpICsgU29mdG1heCArIEl0ZXJhdGl2ZSBUb3BLLgogICAgRWFjaCBwcm9ncmFtIGluc3RhbmNlIGNvbXB1dGVzIHRoZSByZXN1bHRzIGZvciBCTE9DS19NIHRva2VucyAocm93cyBpbiB4KS4KICAgIEltcHJvdmVzIFdnIHJldXNlLgogICAgIiIiCiAgICBwaWRfbSA9IHRsLnByb2dyYW1faWQoYXhpcz0wKQogICAgICAgIAojIC0tLSBDb21wdXRlIExvZ2l0cyAoeFtwaWRfbSwgOl0gQCBXX2cuVCkgLS0tCiAgICB4X3Jvd19wdHIgPSBYX3B0ciArIHBpZF9tICogc3RyaWRlX3htCiAgICBvZmZzX2sgPSB0bC5hcmFuZ2UoMCwgQkxPQ0tfSykKICAgIG9mZnNfbiA9IHRsLmFyYW5nZSgwLCBOKSAjIFVzZSBhY3R1YWwgTiBkaXJlY3RseQogICAgd2dfcHRycyA9IFdnX3B0ciArIG9mZnNfbls6LCBOb25lXSAqIHN0cmlkZV93biArIG9mZnNfa1tOb25lLCA6XSAqIHN0cmlkZV93awoKICAgIGFjY3VtdWxhdG9yID0gdGwuemVyb3MoKE4sKSwgZHR5cGU9dGwuZmxvYXQzMikKCiAgICBmb3Iga19zdGFydCBpbiByYW5nZSgwLCB0bC5jZGl2KEssIEJMT0NLX0spKToKICAgICAgICBjdXJyZW50X29mZnNfayA9IGtfc3RhcnQgKiBCTE9DS19LICsgb2Zmc19rCiAgICAgICAgeF9tYXNrID0gKHBpZF9tIDwgTSkgJiAoY3VycmVudF9vZmZzX2sgPCBLKQogICAgICAgIHhfY2h1bmsgPSB0bC5sb2FkKHhfcm93X3B0ciArIGN1cnJlbnRfb2Zmc19rICogc3RyaWRlX3hrLCBtYXNrPXhfbWFzaylbOiwgTm9uZV0KCiAgICAgICAgd2dfbWFzayA9IChjdXJyZW50X29mZnNfa1tOb25lLCA6XSA8IEspCiAgICAgICAgd2dfY2h1bmsgPSB0bC5sb2FkKHdnX3B0cnMgKyBrX3N0YXJ0ICogQkxPQ0tfSyAqIHN0cmlkZV93aywgbWFzaz13Z19tYXNrKQogICAgICAgIGRvdF9yZXN1bHQgPSB0bC5kb3Qod2dfY2h1bmssIHhfY2h1bmspCiAgICAgICAgZG90X3Jlc3VsdF9yZXNoYXBlZCA9IHRsLnJlc2hhcGUoZG90X3Jlc3VsdCwgKE4sKSkgIyBTaGFwZSBpcyBub3cgW05dCiAgICAgICAgYWNjdW11bGF0b3IgKz0gZG90X3Jlc3VsdF9yZXNoYXBlZAoKICAgIGlmIHBpZF9tIDwgTToKICAgICAgICBjdXJyZW50X3Njb3Jlc19mcDE2ID0gdGwuc29mdG1heChhY2N1bXVsYXRvci50byh0bC5mbG9hdDE2KSkudG8odGwuZmxvYXQxNikKCiAgICAgICAgc2NvcmVzX3Jvd19wdHIgPSBTY29yZXNfcHRyICsgcGlkX20gKiBzdHJpZGVfc2NvcmVzX20KICAgICAgICBpbmRpY2VzX3Jvd19wdHIgPSBJbmRpY2VzX3B0ciArIHBpZF9tICogc3RyaWRlX2luZGljZXNfbQoKICAgICAgICBsb29wX3Njb3JlcyA9IGN1cnJlbnRfc2NvcmVzX2ZwMTYKICAgICAgICBuZWdfaW5mX2ZwMTYgPSAtZmxvYXQoJ2luZicpCgogICAgICAgIGZvciBrX2l0ZXIgaW4gdGwuc3RhdGljX3JhbmdlKHRvcF9rKToKICAgICAgICAgICAgbWF4X3ZhbF9mcDE2LCBtYXhfaWR4ID0gdGwubWF4KGxvb3Bfc2NvcmVzLCBheGlzPTAsIHJldHVybl9pbmRpY2VzPVRydWUpICMgbWF4X3ZhbF9mcDE2IGlzIGZwMTYKICAgICAgICAgICAgdGwuc3RvcmUoaW5kaWNlc19yb3dfcHRyICsga19pdGVyICogc3RyaWRlX2luZGljZXNfaywgbWF4X2lkeC50byh0bC5pbnQ2NCkpCiAgICAgICAgICAgIHRsLnN0b3JlKHNjb3Jlc19yb3dfcHRyICsga19pdGVyICogc3RyaWRlX3Njb3Jlc19rLCBtYXhfdmFsX2ZwMTYpCiAgICAgICAgICAgIGxvb3Bfc2NvcmVzID0gdGwud2hlcmUodGwuYXJhbmdlKDAsIE4pID09IG1heF9pZHgsIG5lZ19pbmZfZnAxNiwgbG9vcF9zY29yZXMpCiAgIApkZWYgbGF1bmNoX3FfZG93bl9wcm9qKHNlbGYsIHg6IHRvcmNoLlRlbnNvcikgLT4gVHVwbGVbdG9yY2guVGVuc29yLCB0b3JjaC5UZW5zb3JdOgogICAgIiIiCiAgICBVc2VzIHRoZSBUcml0b24ga2VybmVsIGZvciBNb0UgZ2F0aW5nIChMaW5lYXIgKyBTb2Z0bWF4ICsgSXRlcmF0aXZlIFRvcEspLgogICAgeDogSW5wdXQgdGVuc29yIG9mIHNoYXBlIFtNLCBLXSA9IFticypzZXFfbGVuLCBkX2hpZGRlbl0KICAgIFJldHVybnM6IFR1cGxlW1RlbnNvcltNLCB0b3Bfa10sIFRlbnNvcltNLCB0b3Bfa11dIChJbmRpY2VzOiBpbnQ2NCwgU2NvcmVzOiB4LmR0eXBlKQogICAgIiIiCiAgICB4ID0geC5jb250aWd1b3VzKCkKICAgIE0sIEsgPSB4LnNoYXBlCiAgICBOID0gc2VsZi5uX2V4cGVydHMKCiAgICB0b3BrX2luZGljZXMgPSB0b3JjaC5lbXB0eSgoTSwgc2VsZi50b3BfayksIGRldmljZT14LmRldmljZSwgZHR5cGU9dG9yY2guaW50NjQpCiAgICB0b3BrX3Njb3JlcyA9IHRvcmNoLmVtcHR5KChNLCBzZWxmLnRvcF9rKSwgZGV2aWNlPXguZGV2aWNlLCBkdHlwZT14LmR0eXBlKQoKICAgICMgLS0tIEtlcm5lbCBDb25maWcgLS0tCiAgICBCTE9DS19LID0gNjQKICAgIGdyaWQgPSAoTSwpICMgT25lIHByb2dyYW0gcGVyIHRva2VuCiAgICBxX3Byb2pfZG93bl90cml0b25bZ3JpZF0oCiAgICAgICAgeCwgc2VsZi5XX2csIHRvcGtfaW5kaWNlcywgdG9wa19zY29yZXMsCiAgICAgICAgTSwgTiwgSywKICAgICAgICB4LnN0cmlkZSgwKSwgeC5zdHJpZGUoMSksCiAgICAgICAgc2VsZi5XX2cuc3RyaWRlKDApLCBzZWxmLldfZy5zdHJpZGUoMSksCiAgICAgICAgdG9wa19pbmRpY2VzLnN0cmlkZSgwKSwgdG9wa19pbmRpY2VzLnN0cmlkZSgxKSwKICAgICAgICB0b3BrX3Njb3Jlcy5zdHJpZGUoMCksIHRvcGtfc2NvcmVzLnN0cmlkZSgxKSwKICAgICAgICB0b3Bfaz1zZWxmLnRvcF9rLAogICAgICAgIEJMT0NLX0s9QkxPQ0tfSywKICAgICAgICBudW1fd2FycHM9NCwgIyBPcHRpb25hbCB0dW5pbmcKICAgICAgICBudW1fc3RhZ2VzPTIgIyBPcHRpb25hbCB0dW5pbmcKICAgICkKCiAgICByZXR1cm4gdG9wa19pbmRpY2VzLCB0b3BrX3Njb3JlcwoKY2xhc3MgTUxBKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlnOiBDb25maWcpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYuZGltID0gY29uZmlnLmRpbQogICAgICAgIHNlbGYubl9oZWFkcyA9IGNvbmZpZy5uX2hlYWRzCiAgICAgICAgc2VsZi5xX2xvcmFfcmFuayA9IGNvbmZpZy5xX2xvcmFfcmFuawogICAgICAgIHNlbGYua3ZfbG9yYV9yYW5rID0gY29uZmlnLmt2X2xvcmFfcmFuawogICAgICAgIHNlbGYubm9wZV9oZWFkX2RpbSA9IGNvbmZpZy5xa19ub3BlX2hlYWRfZGltCiAgICAgICAgc2VsZi5yb3BlX2hlYWRfZGltID0gY29uZmlnLnFrX3JvcGVfaGVhZF9kaW0KICAgICAgICBzZWxmLnZfaGVhZF9kaW0gPSBjb25maWcudl9oZWFkX2RpbQogICAgICAgICMgRG93bi1wcm9qZWN0aW9uIG1hdHJpY2VzCiAgICAgICAgc2VsZi5RX3Byb2pfZG93biA9IG5uLkxpbmVhcihzZWxmLmRpbSwgc2VsZi5xX2xvcmFfcmFuaywgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCiAgICAgICAgc2VsZi5LVl9wcm9qX2Rvd24gPSBubi5MaW5lYXIoc2VsZi5kaW0sIHNlbGYua3ZfbG9yYV9yYW5rICsgc2VsZi5yb3BlX2hlYWRfZGltLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgYmlhcz1GYWxzZSkKCiAgICAgICAgIyBVcC1wcm9qZWN0aW9uIGFuZCByb3BlIHByb2plY3Rpb24gbWF0cmljZXMKICAgICAgICBzZWxmLlFfcHJval91cCA9IG5uLkxpbmVhcihzZWxmLnFfbG9yYV9yYW5rLCAoc2VsZi5ub3BlX2hlYWRfZGltICsgc2VsZi5yb3BlX2hlYWRfZGltKSAqIHNlbGYubl9oZWFkcywgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCiAgICAgICAgc2VsZi5LVl9wcm9qX3VwID0gbm4uTGluZWFyKHNlbGYua3ZfbG9yYV9yYW5rLCAoc2VsZi5ub3BlX2hlYWRfZGltICsgc2VsZi52X2hlYWRfZGltKSAqIHNlbGYubl9oZWFkcywgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGJpYXM9RmFsc2UpCgogICAgICAgICMgUm9QRSBvbiBoYWxmIGVtYmVkZGluZ3MKICAgICAgICBzZWxmLnFfcm9wZSA9IFJvUEUoc2VsZi5yb3BlX2hlYWRfZGltKQogICAgICAgIHNlbGYua19yb3BlID0gUm9QRShzZWxmLnJvcGVfaGVhZF9kaW0pCgogICAgICAgICMgT3V0cHV0IHByb2plY3Rpb24KICAgICAgICBzZWxmLndvID0gbm4uTGluZWFyKHNlbGYudl9oZWFkX2RpbSAqIHNlbGYubl9oZWFkcywgc2VsZi5kaW0sIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBiaWFzPUZhbHNlKQogICAgICAgIHNlbGYuZXBzID0gMWUtNgogICAKICAgIGRlZiBmb3J3YXJkKHNlbGYsIHg6IHRvcmNoLlRlbnNvciwga3ZfY2FjaGU6IEtWQ2FjaGUpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICAjIHNlcV9sZW4gPSAxIGFsd2F5cyBoZXJlCiAgICAgICAgYmF0Y2hfc2l6ZSwgc2VxX2xlbiwgbW9kZWxfZGltID0geC5zaXplKCkKCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjICAgICAgICAgICAgICAgICBTdGVwIDE6IEhhbmRsZSBkb3duLXByb2plY3Rpb24gKyBLViBjYWNoZSAgICAgICAgICAgICAgICAgICAgIwogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgcV9sb3JhID0gc2VsZi5RX3Byb2pfZG93bih4KQogICAgICAgIGt2X2xvcmEgPSBzZWxmLktWX3Byb2pfZG93bih4KQogICAgICAgIGt2X2xvcmEsIGt2X2xlbiA9IGt2X2NhY2hlKGt2X2xvcmEpCiAgICAgICAgcXVlcnlfcG9zID0ga3ZfbGVuIC0gMQoKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgICMgICAgICAgICAgICAgICAgICBTdGVwIDI6IFVwLXByb2plY3QgYW5kIHByZXBhcmUgTm9QRSArIFJvUEUgICAgICAgICAgICAgICAgICAjCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICAgICAgIyBIYW5kbGUgcXVlcmllcyBRIGZpcnN0CiAgICAgICAgcV9ub3BlX2FuZF9yb3BlID0gc2VsZi5RX3Byb2pfdXAocV9sb3JhKS52aWV3KAogICAgICAgICAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBzZWxmLm5faGVhZHMsIHNlbGYubm9wZV9oZWFkX2RpbSArIHNlbGYucm9wZV9oZWFkX2RpbSkKICAgICAgICBxX25vcGUsIHFfcm9wZSA9IHRvcmNoLnNwbGl0KHFfbm9wZV9hbmRfcm9wZSwgW3NlbGYubm9wZV9oZWFkX2RpbSwgc2VsZi5yb3BlX2hlYWRfZGltXSwgZGltPS0xKQoKICAgICAgICAjIEhhbmRsZSBrZXlzIGFuZCB2YWx1ZXMgSy9WLiBWIGRvZXMgbm90IG5lZWQgUm9QRQogICAgICAgIGt2X25vcGUsIGtfcm9wZSA9IHRvcmNoLnNwbGl0KGt2X2xvcmEsIFtzZWxmLmt2X2xvcmFfcmFuaywgc2VsZi5yb3BlX2hlYWRfZGltXSwgZGltPS0xKQogICAgICAgIGt2X25vcGUgPSBzZWxmLktWX3Byb2pfdXAoa3Zfbm9wZSkudmlldygKICAgICAgICAgICAgYmF0Y2hfc2l6ZSwga3ZfbGVuLCBzZWxmLm5faGVhZHMsIHNlbGYubm9wZV9oZWFkX2RpbSArIHNlbGYudl9oZWFkX2RpbSkKICAgICAgICBrX25vcGUsIHYgPSB0b3JjaC5zcGxpdChrdl9ub3BlLCBbc2VsZi5ub3BlX2hlYWRfZGltLCBzZWxmLnZfaGVhZF9kaW1dLCBkaW09LTEpCgogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgU3RlcCAzOiBIYW5kbGUgUm9QRSBTdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAgICAgICAjIENvbXB1dGUgUm9QRSBmb3IgcXVlcmllcyBhbmQgY29tYmluZSB3aXRoIG5vLVJvUEUgcGFydAogICAgICAgIHFfcm9wZSA9IHFfcm9wZS5wZXJtdXRlKDAsIDIsIDEsIDMpICMgYnMgeCBuX2hlYWRzIHggc2VxX2xlbiB4IHJvcGVfaGVhZF9kaW0KICAgICAgICBxX3JvcGUgPSBzZWxmLnFfcm9wZShxX3JvcGUsIHN0YXJ0X3Bvcz1xdWVyeV9wb3MpCgogICAgICAgIHFfbm9wZSA9IHFfbm9wZS5wZXJtdXRlKDAsIDIsIDEsIDMpICMgYnMgeCBuX2hlYWRzIHggc2VxX2xlbiB4IHJvcGVfaGVhZF9kaW0KICAgICAgICBxID0gdG9yY2guY29uY2F0KFtxX25vcGUsIHFfcm9wZV0sIGRpbT0tMSkKCgogICAgICAgICMgQ29tcHV0ZSBSb1BFIGZvciBrZXlzIGFuZCBjb21iaW5lIHdpdGggbm8tUm9QRSBwYXJ0CiAgICAgICAga19yb3BlID0ga19yb3BlWzosIE5vbmUsIDosIDpdCiAgICAgICAga19yb3BlID0gc2VsZi5rX3JvcGUoa19yb3BlKS5leHBhbmQoLTEsc2VsZi5uX2hlYWRzLC0xLC0xKQogICAgICAgIGtfbm9wZSA9IGtfbm9wZS5wZXJtdXRlKDAsIDIsIDEsIDMpICMgYnMgeCBrdl9sZW4geCBuX2hlYWRzIHggcm9wZV9oZWFkX2RpbQogICAgICAgIGsgPSB0b3JjaC5jb25jYXQoW2tfbm9wZSwga19yb3BlXSwgZGltPS0xKQogICAgICAgICAgICAgICAgCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHV0ZSBNdWx0aS1oZWFkIEF0dGVudGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgIwogICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgdiA9IHYucGVybXV0ZSgwLCAyLCAxLCAzKSAjIGJzIHggbl9oZWFkcyB4IGt2X2xlbiB4IHZfaGVhZF9kaW0KICAgICAgICBzY29yZXMgPSB0b3JjaC5tYXRtdWwocSwgay50cmFuc3Bvc2UoLTEsIC0yKSkgLyBtYXRoLnNxcnQoc2VsZi5yb3BlX2hlYWRfZGltICsgc2VsZi5ub3BlX2hlYWRfZGltKQogICAgICAgIGF0dG4gPSBGLnNvZnRtYXgoc2NvcmVzLCBkaW09LTEpLnRvKHRvcmNoLmJmbG9hdDE2KQogICAgICAgIHkgPSB0b3JjaC5tYXRtdWwoYXR0biwgdikudmlldyhiYXRjaF9zaXplLCAxLCAtMSkKICAgICAgICB5ID0gc2VsZi53byh5KQoKICAgICAgICByZXR1cm4geSwga3ZfY2FjaGUuZ2V0X2RhdGEoKQoKCmRlZiBnZW5lcmF0ZV9pbnB1dChiYXRjaHNpemUsIGRpbSwgZHEsIHByZWZpbGwsIHNlZWQpOgogICAgIyBTaXplcyBkZXJpdmVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kZWVwc2Vlay1haS9EZWVwU2Vlay1WMy9ibG9iL21haW4vaW5mZXJlbmNlL21vZGVsLnB5CiAgICBnZW4gPSB0b3JjaC5HZW5lcmF0b3IoZGV2aWNlPSdjdWRhJykKICAgIGdlbi5tYW51YWxfc2VlZChzZWVkKQogICAgCiAgICAjIEdlbmVyYXRlIHdlaWdodHMgZm9yIGxpbmVhciBsYXllcnMKICAgIFFfcHJval9kb3duX3dlaWdodCA9IHRvcmNoLnJhbmRuKChkcSwgZGltKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpIC8gbWF0aC5zcXJ0KGRpbSkKICAgIEtWX3Byb2pfZG93bl93ZWlnaHQgPSB0b3JjaC5yYW5kbigoNTEyICsgNjQsIGRpbSksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKSAvIG1hdGguc3FydChkaW0pCiAgICBRX3Byb2pfdXBfd2VpZ2h0ID0gdG9yY2gucmFuZG4oKCgxMjggKyA2NCkgKiAxMjgsIGRxKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpIC8gbWF0aC5zcXJ0KGRxKQogICAgS1ZfcHJval91cF93ZWlnaHQgPSB0b3JjaC5yYW5kbigoKDEyOCArIDEyOCkgKiAxMjgsIDUxMiksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKSAvIG1hdGguc3FydCg1MTIpCiAgICB3b193ZWlnaHQgPSB0b3JjaC5yYW5kbigoZGltLCAxMjggKiAxMjgpLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZ2VuZXJhdG9yPWdlbiwgZGV2aWNlPSdjdWRhJykgLyBtYXRoLnNxcnQoMTI4ICogMTI4KQoKICAgIGNvbmZpZyA9IENvbmZpZygKICAgICAgICBiYXRjaF9zaXplPWJhdGNoc2l6ZSwKICAgICAgICBkaW09ZGltLAogICAgICAgIHFfbG9yYV9yYW5rPWRxLAogICAgICAgIG5faGVhZHM9MTI4LAogICAgICAgIGt2X2xvcmFfcmFuaz01MTIsCiAgICAgICAgcWtfbm9wZV9oZWFkX2RpbT0xMjgsCiAgICAgICAgcWtfcm9wZV9oZWFkX2RpbT02NCwKICAgICAgICB2X2hlYWRfZGltPTEyOCwKICAgICAgICBzZXFfbGVuPTEsCiAgICAgICAgbWF4X3NlcV9sZW49ODE5MiwKICAgICAgICBrdl9jYWNoZV9zaGFwZT0oYmF0Y2hzaXplLCA4MTkyLCA1MTIgKyA2NCksCiAgICAgICAgUV9wcm9qX2Rvd25fd2VpZ2h0PVFfcHJval9kb3duX3dlaWdodCwKICAgICAgICBRX3Byb2pfdXBfd2VpZ2h0PVFfcHJval91cF93ZWlnaHQsCiAgICAgICAgS1ZfcHJval9kb3duX3dlaWdodD1LVl9wcm9qX2Rvd25fd2VpZ2h0LAogICAgICAgIEtWX3Byb2pfdXBfd2VpZ2h0PUtWX3Byb2pfdXBfd2VpZ2h0LAogICAgICAgIHdvX3dlaWdodD13b193ZWlnaHQsCiAgICApCiAgICB4ID0gdG9yY2gucmFuZG4oKGNvbmZpZy5iYXRjaF9zaXplLCAxLCBjb25maWcuZGltKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGdlbmVyYXRvcj1nZW4sIGRldmljZT0nY3VkYScpCiAgICAKICAgICMgUHJlLWZpbGwgS1YgY2FjaGUKICAgIGt2X2NhY2hlID0gS1ZDYWNoZSgoY29uZmlnLmJhdGNoX3NpemUsIGNvbmZpZy5tYXhfc2VxX2xlbiwgY29uZmlnLmt2X2xvcmFfcmFuayArIGNvbmZpZy5xa19yb3BlX2hlYWRfZGltKSkudG8oJ2N1ZGEnKQogICAgcHJlX2ZpbGxlZF9jYWNoZSA9IHRvcmNoLnJhbmRuKChjb25maWcuYmF0Y2hfc2l6ZSwgcHJlZmlsbCwgY29uZmlnLmt2X2xvcmFfcmFuayArIGNvbmZpZy5xa19yb3BlX2hlYWRfZGltKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBnZW5lcmF0b3I9Z2VuLCBkZXZpY2U9J2N1ZGEnKQogICAga3ZfY2FjaGUocHJlX2ZpbGxlZF9jYWNoZSkKCiAgICByZXR1cm4gY29uZmlnLCB4LCBrdl9jYWNoZQoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBjb25maWcsIHgsIGt2X2NhY2hlID0gZGF0YQoKICAgICMgTG9hZCBpbiBtb2RlbCB3ZWlnaHRzCiAgICBtb2RlbCA9IE1MQShjb25maWcpLnRvKCdjdWRhJykKICAgIG1vZGVsLlFfcHJval9kb3duLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuUV9wcm9qX2Rvd25fd2VpZ2h0KQogICAgbW9kZWwuUV9wcm9qX3VwLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuUV9wcm9qX3VwX3dlaWdodCkKICAgIG1vZGVsLktWX3Byb2pfZG93bi53ZWlnaHQgPSBubi5QYXJhbWV0ZXIoY29uZmlnLktWX3Byb2pfZG93bl93ZWlnaHQpCiAgICBtb2RlbC5LVl9wcm9qX3VwLndlaWdodCA9IG5uLlBhcmFtZXRlcihjb25maWcuS1ZfcHJval91cF93ZWlnaHQpCiAgICBtb2RlbC53by53ZWlnaHQgPSBubi5QYXJhbWV0ZXIoY29uZmlnLndvX3dlaWdodCkKCiAgICBvdXRwdXQsIGt2X2NhY2hlID0gbW9kZWwoeCwga3ZfY2FjaGUpCiAgICByZXR1cm4gb3V0cHV0LCBrdl9jYWNoZQo=

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

Best evidence level for this revision: reported

JSON