Skip to content
KernelIndex
Search⌘K

submission 628542

ftyghome · python · License unknown

Use it

Vendorable · source mirrored · license unknownView source →

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

submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mxfp4-mm-628542?include=source"
interfacepython
Compatibility
measured onAMD Instinct MI355X
declared hardwareAMD Instinct MI355X
architecturesgfx950
dtypesbf16, mxfp4

Benchmark evidence

1 measurement across 1 GPU, fastest first.

Operation / workload
Hardware
Latency
Rank
Observed
AMD MXFP4 GEMMsuite of 6 cases
AMD Instinct MI355X
9.02µs
#114 of 1143
2026-03-25

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:b8af315efb66ade120fd9afb0c4a249296d5ba1a925e20aeb9bfdd7764ffb7c0
license declaredunknown
license concludedunknown
authorsftyghome
imported2026-08-15

Kernel source

submission.py26 lines
#!POPCORN leaderboard amd-mxfp4-mm
# This file is generated by gen_submission.py. DO NOT EDIT.
import os, zlib, base64, torch
os.environ.setdefault("HSA_XNACK", "0")
os.environ["PYTORCH_ROCM_ARCH"] = "gfx950:xnack-"
from torch.utils.cpp_extension import load_inline
from task import input_t, output_t

CUDA_SRC = zlib.decompress(base64.b64decode(b'eNrtfetWI0fS4H+eIt1z6KkCIZBQY0YCfCQhujkgwSBwt4dh65SkAmqQSrKqxMV2f+f7tQ+wu+fsA+2bzJNsROSlMusihA22f0wfu1tVlRkZGRkZGREZGfkXP+gPZwOP7UTjaf923XuMvCD0x0Hxdm/pL+pj/dwL1vuzgbvevNivN8dBBAWxyPo6233FPwjvehZ6g5Jz500Db1js99m///v/sK43vF7rQ7uuH3gDXob9OHODyP/JjQBftso+ttptxqsBHAR1/jBem9y6occm3jT0Q+hbJEpU8Ttjp/S1xKy/Iyy7ylidhbNe6EVsfM2a5/WQQav33jRijYPSFnz99//8X6z95eC0wurOj9Bqa7u9wWFl/Kk7Yd8degX2MPUjP7hh0ZjNgr7bvwX0B9693/fYyBuNp09F1oK37GY6nk1ywYX+TeAOQ+Zif9Yif+g5IxY+BX12PXRv2L3vMjcaj/x+fTAo6h0sMwupg/1j9eNj3rHpLOCQJGW60dRzRw1OyAc/umXjCdLWHeZidLQWToZ+hH0TPQDQ7MH1o5DBoFzDaK3dTPmgKUTDXHDX4ymLbj0g83T8EDI/YoHnDcKiGM8z7wZRnSKwW3fihWIUu/gA/7YRRocjhn814EUDnxvw+LnNPsPvI6d7enx43uU1S6LhCv5V3t7eYOxDqczYJvy/VREPWKrCy5V4tbJ42qJqJSj0bWlrO7/at7zaJn/apOqVjb9tLdZaRa+2OJIf+NMWvSX8yhuV7WerUZ9Y+QP9u7nxbZmVPmxuUbVSeTun2qsKgaW3ECulIjvsNI8v9lvd10c4lpS3/mQd/ndgckX+yDPFqPzYux6O3ai0lf0VRKsz7k9yP5of+mE08IMo9Wqsv5kF4+kA540zcif6h2uQRnyK62+5SNrT+9W/W5+BwPGjp/VB9DTxnHuvD0tG8XZiwNOKuaOB05tdX3tTxx0Mpl4YopDIL+9tjzb45zcZ/3KRtevNs5M3Gf3rYOBds/3W94fNlnPYOT7stJb+Aq9A7plvmeNwse848BPEXd/zgyEUc5ylv3jBwL+OwX06PHWan1rNIwVKvbG8x8nUZoMx+5kt9uefS/g3cFBrOh1PnYg5HttlHE6NvQiIf80sqP3NLoLrzvp9GFqbsZcBwT+TKTDutfUOusU8RIstD5i1DMDciC2H1eXBP4N3hfkwxB8H1ljA5qMXUf9gJQNmAyztApD54PC45Tj4C4fAcUSH/7n0lT3cwiLKrA1bUf8teG+zyD7Vz/Y/189arHnS6Z7XO+dd9p6d/3DagvX4sN59C6EEANfgD2sftOvMD8JoOqO5jhpNGIG6EzLrewe/OgebZae09Yj/lbedg+2DrYOKTbWXoGTk93kd5BaAFBFIp81JvwvLIBIU9S0kZpsNQPCREjmncie7cue5yvVm02kdt9pdqlyhkYTK9X5/NpoNQfuZMm/oAQjoHag2bOgGXjakzkXbOfp4dnJx2tUhHa2RDsZrJ0kXE7Xe3mfN/U6duaA2+xEIw9nU0yibTzvgglOne/iPFpMk2KoYMxCa+Ozee9dTUHdB5fspB39QZM5bp3G1XVyeayYcVFMNclCH7tYAzGQeVKfxw3mry6GKdkCCShKB8tB7ijxgnzK1gIDxhZ0N8u8XwO4OUVogullOdrilI4kqNSPFWejDmWC7zfpxq+ucts44ghqmWos1Al/JBtHoON2LhkHCrSRmDVA1YRUDXMAuIJ0bVONBdJvPVF+a+90Y4rYpXQEifCfluH24+eHDF2IpeMWOy2w4hk7DWshGY1gcURnWDJ1V3b7xgtmI9YduGLIv/UEbi1cJgZ9JMh6Akt+oN484ChsFPkecH9eFQQJFYzuEr/YFFowRB1T5R8KoIlhnrf2Lzj4QlBOIwzoF+wORFiD644nvhQXmDoe8e4QxPYIZVSc4p/Wz88Pzw5NOax/glDmcLohpQCcGA3gg3Bs2fghC1hs5xAHwbCHpQ7B3dncVlW0C3Dg+aR459W738GMHmaswB8E7h+yVNfcaFlSkdA9ofseAjmBaIQcufa3RiDSxHlS7Ba0p6HtVBt2xAjR8R5Px1B3awPETqAaz4BhoAobTIGQwZUdAw/VPjTbCuMCxw1GkkavD8GKhcMyps4Y2IdhdbOBGLvNDgsFBAOJrxAsALM1n7gysSODv5smn1lmr02xBp3khp++GEehU1Wp9NGiQ7tWUPWgBx+xZZbsWy7DvSYVjqM7BUPkudobk1gxVNTYDftosP1YAPP+JWoPjRrC29mYRaCyWhaoqVwQdhGJVbBsa4NV57W1kGln7uerbWvXeNaxGWGkXauEDe7Z6Wavu9vvYILZOyjZ7vjohT1xJUtKNl5SYZF1aCWZogXLdlgYVOwgKRwjDBDwSgWIzvvcHWOaJNY/EQsoZAozawaMXrI6hclBlqBkDij000ldhFKdQbeXeB/3vEZ7voRS6IuAL/7WkqY84zGKEHPwwHN6PHFC6b/qBwxcsqX4jis59xd8sW0YlNg2n/QKJDd6k+M3bKiwtqtFhJYEgh0CTbjIe+v0nPkWB8uHIeocoFjmKRY5ikaNYRBSLhOI7waGNmT8csDCmd/dsvyoohOJr//PJ2X7psvy3amnrCoTXbORMvT6YOaH6Wl4ydW+z8yP3zksQCoyU8QxUcouQphlHrL/tRCtsEk157zgO/LfWrL3EZS9KtcidRnwqN4/+CjPbfUD0mcWr7m6AWhrdwtSfuFH/VnZqVYfGMQCE+TQ+E5jtCHT2QFqENSoEP4rCwKLh7cxGPW+6s7H381cbWIt6wQWD7MqeBX2x49pTN7jx9LplqotzR8MoLg8gr/0bvcImr7AL3XUaFwcHsCaftbonF2dA/M2zfYeGoybJczq+80SnL0ub1Y0rJOVYjCjr+VEohlVWEF9mE9QOQBJgEVC8PPaTNx0zq7K9Bm/Yx9ML9j1IWQ+Up5CD2dqsVravYKnDZdTO73BJEGvOx1+YJYYPFPeNx82DgwOb7ewAOoqSwKeBJBA61GpLX9/GnqgU2cX54fHh+Q/s4KLTxEX1beyHUxcWx+hhzGXoZpndu8MZyjAcrzFYpFxKM4t3HmapG4rFwk5MvlmAS6xHshL4vn9HQt3iwtktCCnds5maRUYNIOtsGBmUhmUBZETkBw6MNXG4pVcpqCXkZ3115IvJnuXCHMx637O/2opTSWrdO/37yJlwhJ1roMIyaFTLsOovl9+B2vVu9/6dxfGz8RGeEDj+27NjWDF/UEe+xovKZ9eP+kFUJb8pKQzhxOv717CcfPoMyoKHJAeCD9CRyheTJTISRGlUs45B57SOPx61bdDgvCmpb1SpPx5Nhl7kJYbjfuwPqD1nOAgtSfWYpHIhcR44ctbGY3/j22uxQA5v7kb00hb9MHD5vt1qM4svrUK7fDFW91BvMbQ2D77dEGjdm0gRcRvudOp707BK/udbMKrAogLpyzU29HL76AZ/GE/vuKoZ01e96nEYIL81ENjTB2mn0aKDnmvSJ+2sbtEXR4Ca1zVVpJYkLg7yeBKKxUOUy2oL8TQGNh5pzo8JZFIt0RCGMH7eoq0ZA6YN4dz2aISOwUTX2UMNQGMKWgFOTi52+IJ67U/hhQvm+L1H1j2DWe8DziNRSjdgkgPBJYk7ICBY2SKFR6KdEixiTMwq9yb6XTQwZkNgD+CkSEP/dOrd47aK7nqZeuSI5RrqdAzmG/AfWL1jqLqEtgXomx7bITdJvXu0l0lubHABRjKKITRbLUhNmH5gTq2hi5p5j0BNNvDvfXS7MAutmil0hL/pkXfWTiBX5+pPY2/JtH+hjkPwFF5CxnKgVp0tg0W9SzbpuzobzWAse55sCixB0Jgb78wVtQ4WfUOS3MC87wFyQEqJ+wuQxKpWYtwBu1XAbo2VbL3J7oM7EQ4PIS5KW6Rw3LpD1DTAwnXZAATIoMouexuFXqnQKxd6m1e0V3iJj/ByE15eFZVZCDJwOo4Q1UFpt8S9HWJdhRcbwBGhTxwD5iKZIzDvvSFo1gHSS/qZihn8jZg6IeDsDErE3qB9yo4qO26WsBnlhz0LSxvk14vhRoNlWTO2t8e2bVKENjYODvD/GVeRZsmXoCJt22rGHLvTGw/GfDJ+gAkDlCuzHdAyEwMEugAYZVCmTB0IJPrUG3RCcASF83bKVgQYG76u7LKyqZC9mRr2oUiWep38uqCPtdhZq10/PT3sfHyD5hDkvrcGNPCmQsc9PdwHFkM3x8idTHAmALd4uAtLPhQPtWTklci/mY1noXB2ANXJl0LM2PWDvoeAYGIq59Uu1bdu3engAdVs1SY0AZoNDpbXn5EEhpohiuEBqIMIb+CjuYJiD/1ARXaO4k3uMjGUiFM0gqNbF/QdbOWR40kYIYDLEI0n55G0M/wBc7I/ngXwC5p+QG8GL0wGQH88nI2CtZH7L1i0LLEjfg2sCkxmF/meMepbVb7lPeaLdOiC8MDGw1tXgHMCqdvipG1wp8zUA7sBV/bjcnEpIVxwvLtOm4sY/tDJFNdTDwbHeewPuCvLGxBPU5v+gJvc7/njSH8IpD1pTo3zk/P6MQyQaB5YX7RdyyjcqHdbaJXxSutqgLPKAuuyuOyyVlZNPegDFZG4G6VkIe630gqtJ0FJF+hGsQiNrpWQAZiFuK6C4KWxrfES8LlY/Ja+U1cE2wogxFq02AyfYAKAJU2M5VEIArEMeZNxnElzAF1aZ+SiQpkYDXfDsIM72KrNvqPernC8gAVL9nx3SJUIqJeHvwjgGge4Ql2I6YQzFtaBXdH6KiecIJFg5F1ZalmOdy3+HMSf1+PPbyXqeiTrWPtkH0TdWf3wHMwNDEKR3mfp7XkbudcK+u4kRGcczntQvNFBvqaspOH4Bv4G2Yejzz3krDcePCFtn8Ag5fqhjCKhUB8QVCH3vlgIC7ixUCqUKdbI8CfPyGWH0SwPAbsL12BlmqDb5tYWsSelIuvejmfDAdfkkPdEXJL3HSNhcjMDOQpTAVgLh8lpnlx0zkUcSZF9vvUBCRzR75I8hZXFNLIkkAIbPaEwsUVEiQSggmu+ywageIT2SzACRunNtqALealjskgyh7KnA68Pj86NN0JFH1gvZBbX62O0CpyN4Y1NrVtSsHGWVQ54qiJFhK3LVslQyGm6cDUlbUFuVlEsj6P7KuMtJ5Q7MB5OIbkNRW/3lrhajhso51OKWFKuB75vavAYSUs0wKWKn1ZuaXJ8syt3ZKpVfcvjl1+UzNZ2MLKcrO/0alPvx5k/9cQCaW5/SD35GSwMfgY0FNVQZ5qLiFFTYSLr69V/HSoZbVqphQ1+KYxtQ0sBK+I1gKjfoPg/S4YqaO4RMDj6C3Q40pLZYKCIyLewtoE+75IacHJCdo3BYdy3KzanqhTUR4qX2nIrGMLIZvchV1kGSRbUFvPeeDxkOMsBFMia0x/YruoUH5FdbUTi3T3gjNRXo/UE8nliFLcIy6BpDZ/sOVjKucyl4VwUtemA63JyHsPSa053gaepigkEsFkpSi2lrpA0IttJiDNpcIhwlxjtNHZyq9WW9oaEUVMQvCFokeKrbI9//foMqlL662hzTMUqsDieOhUNJheIcYAwT1L0XVVNm13KgmKW/GpyDI8rxYnDlxKATPvppCHrC07MN5mUofmkr0b60OnkKTBjiJcWD1LK1cpfDkRf8WJAuOxpg2dODC5iuJWTq+ovMOam8PjZQD2rRRqbXaN5TW7W5tTnLVFUC+jRGrRVQ7zaKSNEX7WxguODKoCarWRHDfJqYvbIPzGFoWIMZF3viFlDGSfMqLH8TI2RadekhsPQzTUrKVXwK5cJP+cjJdkZmskZAKPXqvhyXvEXiIcEXtndT5gk80mwnl04kwxcmiRs5h2lBEpT24otaFPHtBNtLJm/vlKEx1vYSFtFLjsP/1FHQlb5iYH4vAA/K8Djlt7KTpIR+NIEIYMEZAeF02MojojS5/sf7NYNBjjLcStvs7wmQsUQknG2ggahitH8AzC/euHayH2kjsWRWgV5TiKMu42dvvddBKdcSbiVRhWuN8u4p3Y9qdC+Gj8iAajg1iDoN1gXdCc8Y4HOJR61FI2XKI5JxTBhzLAj47OG7tN4Fkkrr34Npj7ZinKvByN+wtuCOkVB2xZ0HgFNR1qc+IEPN8AIjr7n8UMUTQACoChCJ5zAHCJHtTyqQDPvcPBYfAT7TqggfBksKof1LPLWUCHiVK3ymBEkU0ENFHYW+lzgmy7ibInoaVENbWVNDBzfl5LDx5fs45OT0y77kRAK0bqbjgFx3AsNKE5lPLELCCnkW7fcS4L+OAzoW8kEgv4TwGBIGOyPoanOyTm3NXGXkghJNnOf00gipHaEoBPaiZTEBocw4oSXvu2cnXzuJg07zXTjqO2yUqabjQjp9Dm19QAOPeB+hTkY5BFN/X7kOKxeUF5xCvHQA4qNcs6PC5fks0G5eSKpkQhxle3VO3JEIKoWingEUnOznOWq+zutidyUx1HkMaTmEGbVI8njdJzT+r5qxbJU26vsW1yft9FXtV2bg6XmQ9iNUU8tVBkagl4VWxeDTlpGEnYWkKQLgwNJQl5PUmg+qEZbUSMJ39B+MgzcVNPLqcGhva5Mq7Kd2e3sPbHk8Oqm5L6HXD8OPeXrIc+LjJ1UPhfpcAn4o63NEVKgZayloEWW46jRriVqSZC9kVlreW4tgREz2yIoKT9VXoscglF3OV032Uk39BxYDLmOJXu8IhmxllWc75rsJhpeSTNZojJtTlO9AXvPNpOwedP8894eRVfDYG4Ui1ubHNJfJlP3ZuQyLsiX5Pk4brZizY0a/rtjTHt4s7qasix04zZw+pELtXn7qwhiBUPQM2rA4hiJ7jMRpSgeVw1oWXW5qs5JTUGYCtR67mRPMsnNdBLLwztF+IxJs8osrYXljCJ2VhMCPdmE4o7VGH0xrPLgC37dYe1Ma0pgTcGcuwL9FTw3t8p5gcSqUU3tx946XO+5rFyZ6uvK1KNNiwkY2GoPtrKyZ8katuY7ya+k8MOq7+uX2A0gJGDG8b2yMzArbQFmoO45qO4huxklMthTP8ZJbPovzqX/ApJV4B+TM1NNDce4IMlHW3Xx8l9XtKt8cEA7yvjzW/xZywd16+eDgslW2hIHlubAijsOf1viqUAPwzGeNrJTlkb22EINZwZcIBDCd7YAV8uuEXj+zW1vPDWqpAI8RuN7ZzCZWCnMkfS2aLUAHWyU8O8D8dc16L5eAvUYReyeqirxSJR+ZfQqrd+OXsZkVNRES4MiRmmOS1gUulnLmcT0p4cR8QMHNAZSlBBry7IUtFXAt7yBf4AnUYBv2oJLZ3YtB59tjEnn1otSwMR7e+QHVvlDhXPYRkFvfo2V7UyYKrSda78cMgbMI1BQUhwqYMWjxEtA3wHbPFnEZwq6bwbpWW9+TA16nnmX5gINUCFXYMkIThRaagpvXNkFvcPAOPafDslSCsnSnw/JcgrJ8p8Pyc0UkinWTcOTzEyrnfOjWO8stKnKNq16fHEubcWLc+UKQ8A1RBOt4PJPRVGlz1rIYvkx2MBgcmgT5MKHWnaREk5+UaaCoqNUmwexLCBCuTyIm0rrAJCbc6HhoR5LlS3z5s0iHxS091nAhKV7CV0FwuqmJao8SGPAZ4XyCKwiMNQx8VcZKY0/KhS2BT9KVxgFgcBy11PluiOXysFwFt6Sa2eCh3aDGz1clcd6yL14Fbwa9W/XhL8izkNBbg385VC4SHjpX/EzDz0enMZPsXFHuIxY5ie64qQbPgFp1784B8f1j90qFVQRivzIQg+gY4AU7pbB7OlHsnnTIZLweiiYc/wdvEuWdDesJEfJcE7EDi/TP7GUsfhxPU4jjcLmKtuF0f2h06QCxAN0GBUmGx5fHV/T2ikN6DhYuKaOk6MNlJxVOfql0i19rlv6qI5L3OAxrWNiA4lB3oOm0gqfdFRZ72NKXfrApkbfrgoJltFEpsanb+Fh/rbI3ZQUa9g42f8BJp7I2bIqU7G8VQjOKXpE6bwjOg/Hs2gy41MjGeNhm6ljjBQxAhYgDUx/8yQCS9ZYvco218LIvfHYxJ94mBCBWcgkwL43Dk+6g7+Gg1A84a9rYBCnDqvDYDzrwYzjp7hghh7vdyXkRlWlteEAqVIDZuLU60cZdfl3hZiIzK2yGBu5DMG0mug1/YB9//H0LFRNp+s2FqhLxJZEwFD24CamE49LhHXu2ovoYGtZBkPeolvYIkEoqEX/HuMpWYUQ1Ubv85yaSABJHtXuuuzMgm3LmKIWiMLxzcwTPVChIzDZS1XRCt8wEByFOYzwmANwSBCiUytRcY9hxYNT0OAn7jTyUZ7PRjxqM+xPUc4XYEEHUYbONyDtrM8Pz2AjyRjORpsOowsHdEd/OIKHD6VyMrDoc5ufXabfHfqdKNHmB67pMHj884gl3IC6vM/1aePmNm1GOhjNlnkqMdtPPa9QQ26YFBaAp3mzn4EZFySbYyV7CWo6cpBylyylrQTiCKrpwE/Aex5O1qo3tyxusYS34+FAXyVVIICKZNP8mE7Cyf+onQVd+41/JBzz4IPMM/GqraRTGWCuiq4wVD+jv/pzZpwxFj3/dNaq7/O0HHGKi5UYTL4TPva/w4Rcl8lF1qHFmkqa0BayBtWpB3c6yQXWiYF1JDD8AZgrYJ3ngTWO4hwYBOxIZcAwszmc8v1Kfj4EATaOMrdOMDVFlxng+MuaAe6IcnNwSIhkBiwQj873rWZezooYFqhgdE4F5ak4jWcRnnZWh43EH7syN8aKkRGE+6hLG+WK3mHKjEEpRbLAUpSXAisJsWI0WBOpNmKg1zNQ7+/Wckhw5HyqHx+Ye2XlWhYNzsBkig+NH5xWHsu8lSwV9kJg2z0/O8T4CLReMqEq4sixwFEgc3IpL2bfOSLYXYFt4yh7h42XUftRRs14h622lMMXdZVZhibTiuLjrNbqzvFJfT9uTQOwzix9UquO2tnbYG22zCwxb0FItG2uzWfFhMKslGU7JFCeKytonV/oiAe9UA6YvEJa15bzupZf2xyGZUONwYNsR9mbdrLYSuNI36/rkg+ORyskJLk5Pnj4nmtdzp3O6Xp6m4xqVMUJnIk7QD1PbPMawJ7d6uX2vBZ7JU30GO6KTOPDFXqcYThxN8tr6KagjZhcwKf1w7OY76RMSMxhRaqJ60+1Ax05MkGgfHHgdP8hAGuNmcGrr7Egn/NIDOh3EPnR0+uvxDyQkW8nxbukI9qtTG4mBsliARbrpPdOB/GeK+FPkSu1jJ1Lx5eHfXAzV63oyaK4fMqi5jHZiPaOVUU7s6bYNZZQ1k0FIy4XmOWWM8oR0rSht6s6sCyUicyyd+jbisuuq7KvzSnCAmY8Rcpb6mxC4ujLLZdZmQsBVXEdqcQCeom9ViTLigk0tUO+QHWFgqYLJOFw4WLAyoUj5EUeCDkTuOBLAyYX8EpytY+H/UIcJ7fwdP+aFNC2THFDHqh6bEqHzLozBphi31XaBzGBfYwrw6PYZOvLdDsqLG6AsVVCT/l//1d8T0ZoIAKOm5poxgjar8++XX7igCdyYO/1xEivy8uOww83gF0nN8vQzeNelq8u4wX8SvSQZ3iCvy+FFXElfnTEFnq8WwGow7hY77HwxhX8V8BlW/gm4aX9BlQTZztkSiE28MDy9SdINGZ1z/aFEv6a42TkSgplsqRdrixrzCaC5EKZdkpo0yssmXhqSWXnQzcUHb4DAbsiygMPRD7wHR7XPDlpkOtm43F7g/9BdzeHx0cLk5aF04HjOjRzaCc2PwETejKYRJxv0eMfsYgoYL2FgMUejwVAumoXFVMAEViUAymgmXmVhMPELjAK7kqjuxBsBx2ozsC7doHCjshHlNWccLu8BftyAVdFd59glwGdT6INsDifryiuGEWLLeayUdoYINRKWw1hhoZFI2iN0vWMJQzcE8O4IlRjCqx/OwvubHHuG1f30BsCDH7Qt72msoXSNzcYSChUzyiMzfPj4jKNg1wSi+zLyRkLH/yffuKBvRIIGs49N7jDReB66PcjfpbLxSPzPmZruHenPiU65Lk8ZGf9SCYzkZB6Xt/Fs+QYZEYxSVgQYbhyGnm44UTxw58uOkcg7Ipv7NuR7XB3hFAZ1qU1VEt7E7ayTo0b/dk1PEHrRjO1JCDTxDIBLZsY5sZQ6uMW+iMQRtd+3xWpBsRxxXzIBFdZZrpKpLGgUIEzO5OgkIjkq6TAcWaMgx0HiQ7mg8Pd3jS48VALWpPgV3KGToITvI/OD6moWB/brbadgv8ICo4OX6fGe249q6HBQz01OtIPQ3HnPeHenJgVacC4msd2igl4JeFyixHnszCUWM89gLXKLEmP/8F7YmuEef1FnquBQrHn9KStCNzMKaidJ1wZw2TmSPuNLMaeQxYNarq7sVEUu6pWNesnQwtOAlOW5a40MlelSaafruVeGu7H63APAJaNz5hnqLI9wWGmOtsz1VmdExJ6NhK6C4R+g8UPeQ7RylkA5YCjKUDZNV0Hww6QwRMrIp9NgtlpOuujQvEfEhiqZu7wATMWyDWBzuxws3S3tGWrJeFUIUUKmZo5eFQGkbwLaT4KyDV2O47oAAiuOP9CVxWs4GHxjRiQdHaa25wHLWHpr2gnGYWvcFWRwk6ZqDEooCCCuhR2n1DvUYUSawgMw85GQdqFBYYZG63L91cWaV7OXZh/1PIOT1gOvP6QUsBi0WqVEsHEm/omEnfhFfnT7kIKKNK95uuxK1GbZDZIIr2XShhRqMBb2GukY76Zs0GztbMFTSUhYjC2XNODqSaPHudVcaBEMDYJGJut7Wm5rPUEXbIIHY0hIz7hpxRUfX2iyqtnhPAO6dSTOJyIvl68NilWHF9NEGXFRWTt8aude8xqyTfqEyEGWv6vxwoFU9Qvhb56lXcBBKVUVEEYiAdlZiaIco7yHM88FEPNUGWSp5Kfx3EbYsff3JPVAiwuN2Mwl7pz96pmIiaMKivRYVvxgB4DkhnmMJdmZh8b6IxIdLNzVUvTTMSZiLAGKxFmYqe73Uh2uzO32438bst+/+bIH7UcKubjvFjSw2FoJhg8manuSGDCx7ArHWOrCT1wld2tmCq7ZUTUcbmmlCeZIntX6MVQPYrXQ4u/1NZwTNUeRkaQnv2q9CIhp1GHyzd6e8djOfr5qxG68vzRSF+SVCWxLqXWyey1UEzt9Fo4Pw/AnbkaphdDybYLDCNgagzk3PPouNHXxlwxmZG1GMInWtzbxdM34uGXXc3jlHfuW8mVy7sr4XqRCYN3pEDcS0csL5hRPdMciR1dBeXrlfwpxrgg3LnZCSVSSRf1fP+2fhhAZivW1rw3m/flqh6FB9NeX4Eo6k8zyGMNWJl92jyskZ6qHCVSpfdDY2oWX39qxh140cyEgZ87K5dl1smXTUd//nT0jenoZ09Hswr2jetVfnICZoqOefHzj3RajPvggQBXl9pYrsqWrnjidJxf/tUfw5ebVV2vQMbUVSJVbTiUnktisnHAb5yJmbKasF1WWTQSP1JGwOtzptaF35M1F7OafpXllN2gSuWRaDAa5R6qiPPUGGsjVslsNKuimBXRKDY/8+aDXORcadwszBUZxwihb+9JUO5KLRnKXUajjLLz5yGG1QKQvMMzuVOW5mhicfy9FhDSUdPB02mdMa3GvqFSprZhXjDL7qJ5k6yWUyvkkxMqL+uHaNKTQgtVSU0MjH+ZPxcpQkafGFRlgdUiVAqndRfFDo2uPCfFm85xE/7hU5yO0Y/kgWuliaYdTjhlbTXvaxn5hmKzM6RpA/PzEjuf0hhVouxMvQ2Lahdfkp6I+xLO1H3YqRSMa5tyQMT6oxZTnVnI9MGsysF8zkGu6drs/XtFQFSs2Xf6Dm4VlPHnmleOHEvAQa7RIzHsP0b0NMT+pW6LG0JHs//VKZrUaRA7Y2+df6vGFhC5u5OxHIk9daXIRsGKCGjEzT8KpEPRxGHhTQG4dYoZumU5uduOpfSLmehGkcGsjx6ZflZsOMU3YFpGQOna5zdUlMoUEIztOMKQLr6RoBU0/x1kbE+TsX9GTaeTFoPBAmIwMMVgMF8M9hzFj2rPZhWBqK2ZZ9oDAFzZoXXACNteZeTsNgK2n9dzGpc9kqSk7QS/VttZ1Fr/rRa7lLo9YbVLehb0/bRVQSVhu/fw5PkfJd6SmlXjz6BZNf6jWf0umtXvIlJuAqlZBaZmpe/8ooyx5wgZcQHJa2pRe5YWS1XIVYNelKk1X6sJFtJqZFf5qf4cKmUe8ddd/0L1DGLVE+B9Z97oQre5VJGmf4jgOTU8L1XmPeJNIJ4zuh65JHvOZgG/sEbsYT+tqXhR7/Ulj9H8i6RO+LzbZPMZjWO+y0WqobpG+QcqJ1lSDequ6ypTuiDdOuSIdBEhcjBOdpmrDJNAlqsqyg6K3brD66U/o/+HdwR5RHUJxJn1mbLxlzCvuAWwqX/VVD6Z1xDFv0kcm6t+yB4wGhLFwhqKhYkIKk+uwhidQrdL0WnHQh5UzAdKl0uJ4BO68oIuocL5HIzZdBaQZdGbukH/lgWeN8DUqFngMMIaTWeQYVn5YnCacuTwHkXtyvnr7eut60q+amZ6zgqZGmZBbz1f+oMVXsn/KvikMM8l8FztQaUwT6xnMNfXBbXIV5fmh6ctOm7e+tJqXmDW4kT4Ut3c6Z2ThoFZIlKhYOYFsLVdeN0wVJkruA2eV6ubk34Bg9Sf2wrPgRnr0DKXAb+DJ2SN1sHJWYuihetrPPkLJXqR9z/S7TBouEPFNZm5V4UcY/AV2v7BX0EP8DA1DcbA1/8aGsmU0XaA+csw8+7QnQA80tYpWlpCoq00uqhq4gdr6lbQuryVyh3AChyGr2e6m7dSVGPCcPJtFErM6nnX6EpAbNDnwBHiRMqmi5bGXxt4eQW1dzN1h450VuzQha10Z7HKCqNtD8uzP3son2PZuiDYUgw2cSPB55i0RsJrorPCPi9Djbh/Dq8Vx8wxXE8NjOwxljqzp86MrmrHmnAxtVKZcmwQZY5TPz9pHzads9Zx/QsmZd9JZCdILjIZN4mGQ8+bWNsZCWqev3rUoNOp5AfBgqt6RhCkH7+VU043c9xp1i447MlpvmA1JZRe2kxj4WZeyJXPdlpjypd2PFF1oc7nNdd4UXNftRxO4jZZg08+iThTPHsEUuoJV4RIi13Tp1QmIcuGwp6hJPOCa5iD5Q0iW+LlbB5B7kxaLj7mePC6PK/y84ORA0K3g16IeiJgrX3RPceT7C7lz9fhVsEEWC3by2UUhHfL5cJSWpEUCxvl8o+vWhSg+brMrUOKQkbcZqOkLrmgVH+OmI1fTUydvZOm+rMT7QUwcxalc9cfVsVl35TJqPTv//7fUrRaDVDTUQN4Enmc7Gcn1a45qxbjcW2mmZ1ZlNNyARj3Eu9sPG5sbbT2dLK8FMHSb0VQF3DJG0kWQ2bj16GwYUjW11buW6eHxycfL1pV9vns8LzFTi7OTy/OX7WVrDTj41kUn1BKHcXv1HKqqNDuXZ5lUzuS30E1qWIm4jYYXUsqllwExPkhlU6syu8Z4TnHYNmggx7jB36DbIF0a1D3+3ekgy+ljlChwtMHc/sBD2rzhJPiRhX0+YlbzOkiZ24BeEE0fCrOWZZ4apG2c3zSTNzrmrVXnVW3k6jbkXU78+o2T45lmhst04yExTNzVribZ7XSoFOQDBN/yDOf2VAp2wOFK/OboMzerWitJnKrZhz99ih1HAlcEOmXKo/U1aXRylU6hzblJxs9YVXAIQFHpJC4SiAA/fxMjEGp5egOYI1DLMUi9p/EufVHe6NkqCHO9F2+zyhy+qxKCVDL9e0nYiObTad13GrT1kgK/3s/D/90H+6NLtz7Wsx0ubY055Y26gqM8YYZILbYDsIqs+4B9Qol0xHdV9KMPi7Dx4XaL4lgM0JlNWu7QPF5gKlfyfEXscmdSFyck3w5x0N3eW/6zC7vsc2rOahmbNlKPMAmneKZ9LmNv+ez8lL1URcJIp4OOQrG6yrrYoO8EGkTiz1rcvf7daL0dp0QVxVkd+Xrgn5E4wV6b4Qayj1NmOKE7roooKdXOrq4i5dZnlrZbl1jUeN5ReesBB2R4ylelZ7Zaeg46gZyUWF5foW2A0oNb8FYZdYpr3/6ckGKCUvFiuWeTaxlQ0jviWYchpXL71JOQr5YjxA5qy10DNNhzw6lvAufW2Y6eRvaz68yE3M7e9ENFNAABkLaT0g/yNYystEVY5VCd+QvtjiNzED4kb/A4qTun9FTPOGuz8inTH35VaGX4gy5rr5W5leQl8grOq1qcFSWtTzZL+KMFc4JkRI3kLuSqaN95KBbKEx4aREJlxE9bIZfyrRcakppV+fk1gpkLTWNVBdzar3kuJB+bAgQxPt65krh+ZFIzcsbFBCo2dwEdNoBSZwjlPNutHyDpl4u/fGSygpJICl3xoMBXbaJon0qhI8955wWl9J72WSfYUYYyWB4X4G6UgRd5NHU76FR7FiW9xg5PBOMQxO6bGfFU+TKH7m2/EcKvVQKVX4nKVReUAqV/yOFFhAN5d9PCpXfQArNv/V4fV1P7l6S/hk9wzvlbxd5wy/jzbOrSzBbgqucK5xEeScc+n0vmUsQ1bxO7T+mfDwVhuMeTJdgsWC/32zpv4mVP9/CJhGx8BGR5yz/32zz/xpBogkTfgqap8XIb+Vr7heVh//SnCerLJ76giUwkMd0Gvw2ezS5Ff3abu+jNX4l5Flr/6LZqrJjeRkE3RNhyhXl59NyUbwWKjlO6sRmcUbC64pMKw1PmXmlK7TlzhUoDLQQ11y809U9x8EdJ3H1tZX4Il2tPE7ZDx3cZqoZ91xq2YEz77uSE1EFP1B8gOMOBlYfPq2y+Hr2UkY0Q2JzTOKAzn9yQiGDS5JhcF4Jo/KSvJPZT70T3yjA8VxZ0hae5pg77P17T9CwyryM69ErNJK4p4MlxS3pYfpKIuEa0GmHOhd/vyMSsnfE86qZLW8FhUmaxlx1FDlvGp3fmENByT+6d4xkCACI/GDmzcueILRLichyGhEUsDzfrt6ELUSJpetXSaOEbvao4OyE6j9vFK8LzPjr63PrtOST1KISPr9Om8GzYf5SIrC8n6PT8iJ5Gq2SuEgPDPbB2xilKoLiNkN8Ak2AhYBR7ouPNXp64k9P/Okn/vQTf3rgTw/PGIEJz/FGyfAdU5MF3lYCo0TF8maq4k+84oP9bHoBDZTQOK9ssWGIKP2K+rjtzi/wA8x0SaFP+DMPk0xQKnm8Y2KMns5H1Bfvxzxt5ItkoJJ9ZE07QUrybcyVfG98Wdh2kR1cdFv77Kh11mkdY5yaWNIdBuJr+sQmY4w2e/W2E5cstcVlSOIipOQlSI22vH5J3rwkbldqy1uW8q5NKrAv/UF7PPDYl+a+0z7Zb/Ea2nXYe0tap+lKJQeWg1kAKxXdyRc6jqVfViPuuMHLOtn1DK9f5dfs0UVMd9408Ib6LUzmzUTm1UmZlyYJtln4NqbM8vGp4MTNSOnS4nokE15GubrzI0nohYuLYzKqygvuHjRrPXMaJ+M+psT1Uhmdfv6OKaN8HyfBz2YMjnHb0s0UGEdd1MHm5NRVlyCZdyDNuTrptL6/39oXVyDtop7n9D1/uAPc32jvWXbytofsK3DkDTgZ5Wg7gd+zkNlAfp0gVQcmRqOTV2ccwSzjQUriEoqQDCwBLL/Ow3jK75fXQawk77qBkfk7BRvHA4Fhx9pkp6CMIOQaHCj8f8U0L/eg3914GJoW3arzR6Dtg/jnscuUFnM6w3qPbj8aPrExpnfGi0YARjGT8vxueY2fOP03y7U5xbXb6ndjGPqdPhkRHmScxhW5ikV6ZMYN93hrzxZeq6oRJXOstAtkHLSMtG23uK2VuZghtzfaBiXUoOc3SamDeYNMZIuOgawk8YpH/tSbroGQlxGEPLF9yCxcwemYLjqeMYk4P3W21h9PnmSmRjv3rhi6rhZmH+XzVCPy7N04defvWugMVFZzeEXMyuxavFF1t5RWy0Qnj9zqFtJuBunmjZV5NWv23aw5tfQQoQQOiWtRE5HA/HacdTpIqe7IYRmZRNWVNHNvpOEHMjEGn//UCmlh7CFGk1Ko/p5IboG/d3TRbOdUUg3ImurFjiamkvHOwJNrLiV9kJxJR+HwCIGFWRCjqetHoRaiybdIvqAIAOXlnD7vxOqLmEDyR6AZN/leIWNqFZKTaC+V3nz05Dz2+Y09qpM8HzkgkrpVhfvRY8o7Khl6VmmaeHw0v5xXqyhNsHfNk9MfwIoXLZMpv5SM1gIdRNSU2ojwtBHMFW3a1TLqynPnumqi19UnX83UC6A+nfKhthN6SgxCmw7JwxG3WLBU5esTJt2o87zXvrgsGm+qHo1RYCFPqHHX2ML0AiHl6Eh48+Sicy7uUERqs51djRkzM+LLxU/5LlwY8DEGEWu3Wb8TsyA2Z3Ds9FuNzbmOLsCfv2ZFbt4QYyDCNzN3OgDmsCTDFBS/JLwyNzSpzE5mxu5TCz+KJPxYXlhWCKEgmClhanJ1XeRzQx3nqEAWRmwz6NZB2lKvFwQrFjS2KtAt2RyTRHs6zTim68mFFIlXynJd6Td478QImqRP4Ch4VWCktZ4dSs5Zs1zl10YrpjTYsFodeH3gTjJy9Ghy7d5Teeepft+pNHN5wzg8GhwlT+U4FVjMF4tAlZLWvAJ3B8cSLUW0EtFCRFsN/unQQEsaajSTg6ldAaOPayOZYym2Hej+WWlAGaTPMkrwz4LdeiNz/29F9umke15ljYuDg9YZa9c7dRj1FgiQ99IFcFy/6DQ/tc5e3+SXDLfv3eM2glC9qozn6yfNrO/SpdHWcZmzAugDNp2ZBHNcfKJbVFDRE2zI75Bu0ldxn5IFNm8bBOq4b1dxoSAIUvzTucmJ0BVBbvteWOT3R3PTQUQ9UDFxvY61YfMMpuUCnyT82hoqEkRWmX/tPU1ANrPjUgFs7ggKy5vMLwTuGnacBBxH+RlwpSWGX0OsLoSLeY17pCS2beH1V5QR18dUteWJYvTEnfWMNgd8JClhjhdLHpdwVRl6NQ4ydj9iPbCMJKn1urhYSdy4P7yY9OaQmnFyetjqFgz7VXh39pZ42h1z0H7WFrkFNHEypbL0cBkaDuN+GSNydamp0lS7bF8lK/CT2DmVTCSgLp61flG/CxlaOn+XcH8pMS/Ln1yc84MoinQJnnot4mVDMEyDLMuAFhOA6FOuVPSaDkVKVVqd+RoWH3jVKTzfYLhKj2nWOJqhAhehN6D79eg23/rxcaPePCLlKnO854zxAtDI06Rtlao9POG1v5LXn6avo0/PJEUyvijA6nJpDP+VcdMJGrykTmBA7j1A1X3WAjBxqRS8R+ScZNy5CeVIfi5xc4N/OxafDnCTP4wG1eo1vEBbZQc9o7l+zULCKZl6TrsiUUpO+Pl+J7LRAhHMR83OgvF0gOfznZE7ocCTrYqDB7ISaO4x7nHF03w+zI0ngBNzr6zHb367854sfFPacmjKqd8d7feR1DLldRKWBGK32c4OXSnxi/62g29LW/RWvTyiJVx0iO+g9mdcCwPCgmWjfbrBDQvx0ZKtow6s10nsLHw6BLvtU6t5FC8mH72oLuPnTH3wfQyIiM7Lq8JtysEzHfe9MBxPm7yYkbMsgcwOIWP0aHOjUtNOjQvaxUWIHPNd/r+Ho78/xBXa5CGg6gSnT+RV80Wg4YFlC/hhM6Eod1yeU3B+rSzfoJNyDmbCeDUfYSb0TD8fUoe8pTvxMqg5k3MBaYtBtgNwge4aQnPecGV4redD5csWEk+yGc5NwXrVKsaTdPaBaOyXX1hmCX4NTb3bPfzYwaAFZbZXpQGYars3Hg/ZRRes4DrM+X2j8W800HJxkp3ggp0rWUQBXd/a0ZWVeISO9mpaXallQF1T4cirXUipN8LwMizXWJ0RmHLE0NPCG8GkboRxMBsOJ9GU4yRRWFE6r8NzbBmlfJGQxZnc8kgL9CNNZr2h3+cT3Jz+Vq5YbT1GXEH/DNryASouVuKkd2LDGVfIFdxp1tGz1R2ySs83fTJ51oAmfw202vyeWr0N/abauL4pwLUYkJiVkh4VsyHCx8rvZlYnm+nG83qQjX8GACMI7L/mDB+uUxpSyXYPpp6nf0+scMaoZdQ0vpuulAROXPcxX76nEFlv6EUicCTxWRwLHk93n6+uiwnasJYXTxnU4PcFyFVOqHP8ClyK7doxWzCO1yeUqkulP4npbKPD6lICv7KyI2gSe8/1pFaY3NhOA9BLcm+MCbKZrqhplbgHBD+SXC7RXtvjfbfqhu9HNdUsSAAaLxrjTsQXQBbd7Z/TyWd3/l9aNzs3+KIRAc9QNetwf5xKbxbF+7wLrrw5gcrx/u+uBja19ytlfzAbOX06V2AttADH8BfMBVplIz+wTK29YO7/6PjQWoTWGSC0uhqvTLaKK1aKl9YTNa7ujw4sbbgAxwrAd0yTvWt7aBXTjeUCPV1Q0ddaBthwAbDcPuag02Dpq4YysAifClyufPx4bIoFKydYZkf5ZjMct4uNiWYEKOVfV/wTS+7AH21agk9g6OgxIxTD5usScbsJIFdgGKX40BUErc1v701qplwk4gZ6yTyFRJCdXldzR5sflBNBLVa6M6AVh3eFDE9bwWCwd8135D3oY6yj3Hxa0j6SxBPRUX/2WKcsmZYbbJYl4GJTPLEeFsGSjZ4sW19ZyIOa/EMGY4fzKPzfwOcGPDfgCbjsc4cdgX0iLdfElu2xDrvhAclHLkhBWL0nGNcQueFd8Wk0jA8MmQv6jkhkWd7eBjZmH0rlAhia8GsLXtJTCbNc4t9p+6VAAMt78ErpFrU5DZW2oKESAv22tLWd3dC3hWwpDCUrCzeEgCsbf9v6lT0qvaih34V0CJMTrbxR2X5xQwuTrvwBiLa58S0C/bC5xRsqlbdzGzqtn50fYr7P1n5hDumAOc/xukTJl0PPHXjT3tidDuay5vbvxDGljG6/BX0J5u/REA1kkjVLfyv/loH8GqfL9tGhlxR4134wsFJWQJyH04Ja36SreVDLjrnAj2BV8kCmDxbRub/SYtWDlv3gptjvUyzfxTCaumvAYwELZ72RH4YYSCMKCR2jJPCwaasM8w1O3Oi2ytCnMfTYyJ1gRN/dbEL7dsLFIS5h5Xf0slUe2sv3Llb5ph+NQJHvzBpLIGY1HXhAIp5jmeMgviHeaBv0XYDsRrRPRzlSo1s/REhQAXPgjbzpjTcQt7TwBKOzAIg6mY5xZ4DuD77xAifudHHyBB1ceoWbhPVLhTEXlrQZyRYnqmPOVnIHUA9MUuF+D83910ZFbHUdIDk1by1to4+n/dtq9Zxj0KwlDotmonuJXHvF8CCCMt7AgiQ92HA2iTxenC3wXgJSknDn1sU6IZ10xWpgyGDsKM8b/LWmOfwpkaXcfCDi0LyRb7gGQj878c/U1oO+4aBtMxibCxm7JWqzxKDc3ntl+DrUN+UseDEk1q/pePblVH1lPowtBeJBnCUnneMfmNySgiEaDjF8ajoesf4sjMbSpHhtZEx20ywY+mBlsKRQd82XCd029RFFoNQ6VXATZxiMWiuii8zasGsZBY7iAqXMAh0ooNqPIUmlmMoAi6KfSLGrFPM1tTi859OCsg2YvKSXwTxz9PoSoFzFaXGtOKISzHuvH1nfHBeb3EjaMJRpeE2x3kQgrmz/jNh8LUAvxxMc/dCyiwM6kiWK3TUOuOavO/YEfAAGv4rxxDXcOBn2TDLvUoZ9s2fVNYCaiZmuJ+2XPSsegl9TFRnk+YoJLAUJtMK0aQ/kpH874l/t0I0bVav92cCtVm+8qDmbTr0gal7s17mBZNm2Mf0B/hsJgLYf+CN3yCZPuL6TEKCN+KlQXtjDrRvpagCFrbw2Iqc/NA47+6US+hUujlvW+clZ85PT+nLe6nRBp3I69XarwJSXcVQEVcB6FwuJdwX2PikydHt+8lStutMb6139nV2InxSnJN8iE7yzST/6/y8T4m4=')).decode("utf-8")

_mod = load_inline(
    name="mxfp4_gemm_submission",
    cpp_sources=[""],
    cuda_sources=[CUDA_SRC],
    verbose=False,
    extra_cflags=["-Ofast", "-ffast-math", "-march=native", "-funroll-loops", "-fomit-frame-pointer"],
    extra_cuda_cflags=[
        "-std=c++20", "-Ofast", "-ffast-math", "-ffp-contract=fast", "-DGEMM6_SWIZZLE=0",
        "-U__HIP_NO_HALF_OPERATORS__", "-U__HIP_NO_HALF_CONVERSIONS__",
    ],
)
_quant_gemm = _mod.quant_gemm

def custom_kernel(data: input_t) -> output_t:
    A, _, _, B_shuffle, B_scale_sh = data
    return _quant_gemm(A, B_shuffle.view(torch.uint8), B_scale_sh.view(torch.uint8))

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

Changes from previous submission

Against this author's previous submission submission 615309.

⋯ 5 unchanged lines
from torch.utils.cpp_extension import load_inline
from task import input_t, output_t
- CUDA_SRC = zlib.decompress(base64.b64decode(b'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')).decode("utf-8")
+ CUDA_SRC = zlib.decompress(base64.b64decode(b'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')).decode("utf-8")
_mod = load_inline(
name="mxfp4_gemm_submission",

Best evidence level for this revision: reported

JSON