Skip to content
KernelIndex
Search⌘K

submission 686042

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-686042?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
8.16µs
#33 of 1143
2026-04-01

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:a2afc14d6460b95683b215e30dccf4b49b271c23bc3dfc0b5f8e17d72d49b837
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'eNrtfdlyIzmS4Lu+Ap1tmR0hURRJqVTZ1FFGUlSmTBKl1tFZNRptWIgMSTHiVYygjqrOtXkas32dXbP9gv2S/ZP5kvUDQABxUFSV1FUz22lVmYwIwOEAHH7B4fhjOOz2p71AbMajSfd2JXiMg2EUjobl2+2FP+qPjbNguNKd9vyV1vlOozUaxlAQi6ysiK1X/IPwrqdR0Kt6d8FkGPTL3a74j3/9X+I06F8vd6FdPxwGPS4jfpz6wzj8yY8BX7EkPrUPDwVXAzgI6uxhtDy+9aNAjINJFEbQt1iWqON3IY7pa1U4f0FYbl2IhoimV1EQi9G1aJ01IgGt3geTWDR3q+vw9T/+7d/F4fe7x2ui4f0IrbY/HlYYVs6fhhd1/X5QEg+TMA6HNyIeiemw63dvAf1ecB92AzEIBqPJU1m04a24mYym40JwUXgz9PuR8LE/y3HYD7yBiJ6GXXHd92/EfegLPx4Nwm6j1yubHawJB0cH+ycaBwfcscl0yJDUyJzGk8AfNHkgH8L4VozGOLZ+vxCj/eVo3A9j7JvsAYAWD34YRwIm5Rpma/lmwpOmEY0KwV2PJiK+DWCYJ6OHSISxGAZBLyrL+TwJbhDVCQK79cdBJGfxFB/g30OE0WHE8K8mvGjicxMevxyKL/B73zs9Ptg7O+WaVdnwGv5V+/ixIsQ31Rq8XxdifU0+YKk1LlflajX5tE7VqlDo2+r6x+Jq33K1VX5apeprlT+vy5L4YkZra2Y1A8lnqn3DT+v0lvCrVdY+PluN+iRq39C/q5Vva6L6zeo6VavWPhZUe1UmsPAWbKVaFnud1sH5Tvv09RFOOOVtOF6B/z1YXHE4CGw2qj5eXfdHflxdz/8KrNUbdceFH+0P3SjuhcM482pkvpkOR5Merhtv4I/ND9fAjXiJm2+ZJW2b/ererUyB4YTx00ovfhoH3n3QBZFRvh1b8Ixi/qDnXU2vr4OJ5/d6kyCKkEkUlw8+Dir8+U3mv1YWh43WydGbzP71sBdci532X/dabW+vc7DXaS/8EV4B37PfCs9jtu958BPYXTcIh30o5nkLfwyGvfA6Afd579hrfW639jUo/cYJHscTV/RG4mcx359/XsC/gYLak8lo4sXCC8SWYDgb4kVAwmvhQO0/bCG402m3C1PrCvEyIPhnPAHCvXbeQbdEgGiJ9z3hvAdgfizeR/X3vX8evivNhiH/eCBjAZtPQUz9A0kGxAZYuiUY5t29g7bn4S+cAs+THf7nha/i4RaEqHAqrh79t6C91bL43DjZ+dI4aYvWUef0rNE5OxUfxNkPx22Qx3uN07dgSgBwGf6Iw93DhgiHUTyZ0lpHjSaKQd2JhPNXD796u6s1r7r+iP/VPnq7H3fXd9dcqr0AJeOwy3WQWgBSTCC9Qx76LZB6OKCob+FgHooeMD5SImdU7uRX7jxXudFqee2D9uEpVV6jmYTKjW53Opj2QfuZiKAfAAjoHag2ou8Pg3xInfNDb//TydH58akJaX+ZdDCunR66ZFAbhzuitdNpCB/U5jAGZjidBMbIFo8dUMGxd7r3T22hhmB9zVqB0MQX/z64noC6CyrfTwX4gyJz1j5Oqm2heN6w4aCaag0HdehuGcCMZ0H1mj+ctU8ZqmwHOKgaIlAerp7iAMinRi0gYHzh5oP8yzmQu0cjLRFdraU73DaRRJVakOIs9eFcsKetxkH71DtunzCCBqZGixsEfi0fRLPjnZ43rSFcT2PWBFUTpBjgAnYB6dygGvfi22Ki+r61c5pA/GhzV4AI30k5Ptxb/eab74mk4JU4qIn+CDoNslAMRiAcURk2DJ0l074JhtOB6Pb9KBLfd3uHWLxOCPxMnHEXlPxmo7XPKFRKvEa8H1ekQQJFEzuEpX1JDEeIA6r8A2lUEayT9s55ZwcGlAeIYR2D/YFISxDd0TgMopLw+33uHmFMj2BGNQjOcePkbO9s76jT3gE4NYZzCmwa0EnAAB4I90aMHoaRuBp4RAHw7ODQR2DvbG3pUXYJcPPgqLXvNU5P9z51kLhKMxC888heWfavQaDiSF/BmN8JGEcwrZACF75u0Iy0sB5UuwWtadgN6gK64wzR8B2MRxO/7wLFj6EarIIDGBMwnHqRgCU7gDFc+dw8RBjnOHc4izRzDZheLBSNeHSW0SYEu0v0/NgXYUQwGAQgvky0AMCydOZPwYoE+m4dfW6ftDutNnSaC3ldP4pBp6rXG4Nek3SvlupBGyhm26m5GwkP+yupcALVOZiq0MfOEN+aoqompkBPq7XHNQDPP1Fr8PwYZOvVNAaNxXFQVWVF0EMozprrQgNcnWt/RKJRtZ+r/tGofnUN0ggrbUEtfBDPVq8Z1f1uFxvE1knZFs9XJ+SJKolL+olISYbslCTBFC1Q1m1pUrGDoHBEME1AIzEoNqP7sIdlnkRrXwpSJggwanuPwXBpBJWHdYGaMaB4hUb6EsziBKot3oeg/z3C8z2UQlcEfOFfC4b6iNMsZ8jDD/3+/cADpfumO/RYYCn1G1H07tfC1ZpjVRKTaNItEdvgJuVvbqu0MK9Gh5UkggyBFt141A+7T7xEYeSjgfMOUSwzimVGscwolhHFMqH4TlJocxr2eyJKxvv0ZKcuRwjZ186Xo5Od6kXtz/Xq+iUwr+nAmwRdMHMi/bW2YOveducH/l2QGigwUkZTUMkdQppWHJH+Ry9eFON4wr1jHPi30ay7wLwXuVrsT2Jeyq39P8HK9h8QfeFw1a0KqKXxLSz9sR93b1WnlkxojAEgzMv4RGK2KdHZBm4RbVAh+FGWBhZNb2c6uAomm5Xtn7+6QFrUC2YMqivbDvTFTWpP/OFNYNatUV1cOwZGSXkAeR3emBVWucIWdNdrnu/ugkw+aZ8enZ/A4K+e7Hg0HRtqeI5Hd4Hs9EV1tV65xKEcyRkVV2EcyWlVFeSX6Ri1A+AEWAQUr0D8FExGwln7uAxvxKfjc/FX4LIBKE8Rg1lfra99vARRh2LULe5wVQ7WjI9/E46cPlDcK4+ru7u7rtjcBHT0SAKdDtUAoUNtY+Hr29gTa2VxfrZ3sHf2g9g977RQqL6N/XDsg3CMH0bMQ1dr4t7vT5GH4XyNwCJlLi0c7jysUj+SwsJNLb7pEEVsQLwS6L57R0zdYebslySXvnKFXkVWDRjWaT+2RhrEAvCIOBx6MNdE4Y5ZpaRFyM+mdGRhsu34sAbz3l+5X11NqcS17r3ufeyNGWHvGkbhPWhU70Hqv6+9A7Xr3db9O4fxc/ERnhA4/nvlJrAS+qCOfE2Eyhc/jLvDuE5+U1IYonHQDa9BnHz+AspCgEMOA95DRyoLkwUyEmRpVLMOQOd0Dj7tH7qgwQUTUt+oUnc0GPeDOEhNx/0o7FF7Xr8XOWrUkyFVgsR7YOScymO38u21FJD9m7sBvXRlPyxc/nrYPhQOi1apXb4Yq3uoNx9aq7vfViRa9zZSNLhNfzIJg0lUJ//zLRhVYFEB92WNDb3cIbrBH0aTO1Y1k/HVr64YBvBvAwT29EHZaSR00HNN+qSb1y364klQs7qmi2ykBxcneTSOpPCQ5fLaQjytiU1mmukxhUymJZrCCOYvmLc1a8KMKZzZHs3QAZjoJnnoCWhOQCvAxclshwXqdTiBFz6Y4/cBWfcCVn0IOA9kKdOASU8EcxK/R0CwskMKj0I7w1jknNhV7m30T9HAmPaBPICSYgP940lwj9sqputlEpAjljXUyQjMN6A/sHpHUHUBbQvQNwOxSW6Sxun+du5wY4NzEJJVDKG5WiC1YPmBObWMLmoRPMJoil54H6LbRTho1UygI/zmiryzbgq5Bqs/ze0F2/6FOh7B03hJHstAnYZ4Dxb1Ftmk7xpiMIW5vApUU2AJgsbcfGdL1AZY9E015Bbm3QCQg6FUuL8ASazqpOYdsFsC7JZF1TWbPH3wx9LhIdlFdZ0Ujlu/j5oGWLi+6AED6dXFxVWldFUtXdVKV6uXtFd4gY/wchVeXpa1WQg8cDKKEdVedavK3g4pV+FFBSgiColiwFwkcwTWfdAHzXqI46X8TARP2tD3HiyhgXcF8smkOAeqMSeuPFZqldVKpVKti9E0vggv0XCcdC9+rpYqpdVS7Su8unTLOWsGe+9FMA5er0pLBjTa5xYNYuNAuZKgv5LW9fI58Cc3ARDAePQAqweGsSY2QeVMzRYoBmChQZkatTxU7RIa6JFgYpGe3IlYlGBc+Lq4JWq2dvZmOtk3ZTLbG+TkBeWsLU7ah43j473OpzdoDkHuBMswBsFEKrzHeztAb+jzGPjjMS4LIJ0At2TJoRKgyoyEE4c309E0kp4PGHVyrChK6gYICFap9mRtUX3n1p/0HlDn1m1CE6Dm4GQF3SmxY6gZIU/ugW6I8Hoh2i7IA9EpVBZnyOvUlpNA9jhBizi+9UH5wVYeGU/CCAFcRGhJeY+kquEPWKDd0XQIv6DpB3RtcGGyBrqj/nQwXB74/wLU7sjt8WuQH0Bkbpk3kFH5qvP+94glduQDJ8HGo1tfgvOGStHFFdxkD80kACMCxfxBrbyQ4jQ436feIfMbfujk8u5JAJPjPXZ77NcKekTT1GbYY/v7Az8OzIehMi7tpXF2dNY4gAmSzQPpy7Y3cgo3G6dtNNG40oqe4LyyQLoiKfveKKuXHvSBiijcrVKqEDuxjEIraVDKH1opl6HR5SoSgHAQ1yXgwjS3G1wCPpfL39J36ookW+WmBbOtewtvUNEj83sLUVykoktiEA4deCwhFFejZxSEscsrmnQFFxXw7S1ZaYn7JnshaW1LlXqvpmQj+TxMPq8kn9+KG10ROxKHRzvAjU4ae2dgHmDQiPIWK+/M27Cm9rDrjyN0nuHSBEUZHdrL2qrpj27gb2BPuP7Yoy2uRr0nHNsnMCBZn1NRHxSaA7wkYm+Jg7CAYErVUo1igyz/75RcbBh98jAUd9EyCI8xulluXRkrUi2L09vRtN9jzQvDVWQcUfCdoPV+MwVWB9QqNmmavNbReedMxn2UxZfbEJDAGf0u7QfDypLSHQWkJAZPuN5dGQGiAOhgmO/yAWgaof0NjFjReq4rx4W8ysmwqGGOVE97QRcevZtggIo5kF4kHNbDE7RKTMbwxqXWHcV7mGS1w5yqqFXsmuxPERRSmsn/bGZYUptLFHvjmb7FZIsIWQPMh1dKbxvR2+0FVmpww+NsQhFG2lXA+5wWjRFDQ4NZqeRZZZQWxx+21A5KvW5uUfztb5qtGjsOeU7Rd2a1SfDjNJwEUobZ2xVKr30GC4ueAQ09aqjWzETEqqkxUfXN6r8MlZw2nYzsgV8aY9dSJEDrfw0g+jco6s8OQx007RgIHO17E46yPCoCdAX1FsQP6N8+SeqjI7JDLApjX6zcTKpTEB7pRnqLrGQxI1fcR6xV9NIkaMjbq9GoL3CVAyjgNcc/iC3dKZ6RLWNGkt04oIzMV6v1FPJFbBS39GqgDPWf3BlYqrXM3HAmisZycMV3mXUs6qnlLvG0tSWJADarWKmjNQriRmSXSHambAIZnpKgncVObY26yiRQMDY0hKAPip78qtrjr1+fQVVxfxNtxlRKgfnxNEfRInKJGAOEdZIZ3yXdtN2lPCh2ya82xXAcKC4cFiUAmfa/SYk1BU5CN7kjQ+vJlEbm1JnDUxLWFC/MH1RUqDi/HIgp8RJAKPaMybMXBrMYNkQKtfE55txmHj9bqOe1SHOzZTVv8M2NGfW5JYpC2QKhn0Bbstirm7ETTKmNFbwQVAHUbBU5GpCXUqtH/UlGGComQFbMjtg1tP0grBrvn6kxsE2PzHRYurlhyGQKfmWe8HMxUoqcoZmCCbB6rYu/Lyr+AvaQwiu/+ymTZPYQrOQXzh0G5iYps3ZTK4HKGnYSI9fWMd1UGwv2r68UkfEmNlK3LHbPT0Fp22+fdNoHonHy6fywDdLt9OzkvHX2+jtqUoHdxd3IxuRGKbC80WwGBi8KDzej40nYjT1PNDbyNqQ58NEs1/RkrNL85dHvuKFiQ432c0q3uJwNL6dcw/tx7pJG+1B4MU1XVmnaZqDzA1yBcF2cUaEF4Ceo7MzZQHcYJ/b+zD+ECu4hRbejfm/eSrT8jVpvRti9shTEgjfjxUHjh6Pzs9M3svYpVkrGGwkH6OgQVINR163TERl0B6qwMzpUotRmVqPlORXWTnnHiYv1gmt/2sftPLJMD2olVkg4ioqKDGOnxl85GItCsW7DmFx0jNu5jHIzsNuhCBrGUX1268bxlJI61iIk/ZTY6RhMFLaH0nrQMXRXQdeHVV03iJSOrsjzOCLZSSHMR1PAsYr6EVI/gdTEykdeBO0O0TgZdXFrTuEGVsW0G2RckaRVHx3vtU9Zmzpu7Oy0d5Q5vq+taGvSfi5W+inM0ut4DAe1BWcf5MNqDcT7t6gffHRB6n+0VjzO+0WCyOWFQgJKUu2ae5muQARSVMlG4pKXzov6XdLhmac/dFre7kHjkywoS6RcFEl5WDgeCTE9dCmaeq3By4egsEUYHOML1TAqeHSNerTc+aZNHxk+i9SnORL5tryEKq0RtocDx9ls7TI7p3nzaAe30uYWGpPoKddhqGgm5M73jDmeAxrHjOiVc6E9HYsCIXYuN3QcNAzQ2J/Eod8X0XQQ5aykxCtMfBqEwYU1/UZPZXwpGUO4v3oPUCWHMAG/GYNfL7PVt/dPDVQB63w2MTmZyKcSeUTfysOrzvop5ym5UmEi6eAeBv3K84AcaSFuQQygfYJBQ6u1ZRmUjpCsU5ykPtbx3CCwQP8qWh74j9SxJCa8pE5kRkm3sdP3oY/g9D4VBu1QhevVGkbvXI/XKIKHD2MCKhiEBOSFdeORFlUsqOLRAkVM62hpPJ2ktCvR95+AgysR07jGeUdrWEWVYGxxBFJDndc0hEI0YinGR0v9IcaKdoHhl1mQ9jGOgGKBozHwAdoSV4ciyWbY6z2WH8WmkM4TNuDLemt8GgfLtF5oVOscnYrDVNIThZ2FPpdY2MpTrLKnZT21a8ty4jgCRk0fOxsOjo6OT8WPhFCEfunJCBDHqKshRcSOxm4JIUUcJIZ4dke42YdHBxZzgSDjAgz6hMHOCJrqHJ2xTMZ4KBpI8vZ3eYwUQjr2BDphnH1NhVJYQqB56J0cfTlNu6QNpzOjBsw2dw+PWWqXR5tDRbVG/wH4ASoQ7AzqlUyvkLWHN1Pd14cHEFi5Mb/ebVV7qRqeVJRaec7G4L4nT8wYZyZYouVtI/6FnAG8h4FEwIddbArIq2eIAt0KSE7Vdo7szMfS2DzZSlDPWOg5rhGzKrYuaYbcK2nYeUDSezcMJA15JT1Cs0E1D/VopOFbbp8cz36m6feZyaGgnFx3+mFut/ODd9LTa/rQdwJcNKMo0JtctOWkDnnozSa10zTkR9dYNeQ5VIdC5Fjk7Zg1DzdStRTIq4Fd6/3MWhIjYbdFUDIbdEUtMgSr7vts3XQn/SjwQJayc0n1eFER4kZecY7o2Eo1vJglslRliqKjej3xQaymYXPT/Hl7m46BwWRWyuX1VdtfLJMp1MVeFE05QJKNtemYD7Nh0DCIgb4/Fp+BqpBBD7tPifdYCR/uCNetrjeFc9MfXfl9PshAkVaPa25ZNEEthJYomA7aMqhOQWMQV8E1Sjp/+CQk1wYdIKBIguupilcdh+MAD+IqDMtyFZHG/5cmYfQzBx2NHjYkcdxMxhvJ4ZjbizVQEr/y+MkqP15dGHhdyrH/43ji3wx8wZJzQaU+4B0OHOvKBv67aTFKeLO0lHFCm/sgQ68b+1CbZ2wJQSzi6cKcGqCNxJJghDyAIh+XLGhJXehJf3xZ1jSpCHTJhLVSyB8NEDRuAOJOU2gOd1kSjgH3fU4R1/KrOwZ+m+Iw130uZ41O22zZ2CyyUUZLQUsV9WdxElDU03gSyKMU8Li2uK3avHWNDbHiShoHrPqhcWFgDEMArTNql0bHvubty8icHnWl8SlFOdHxlHKnV9ZrE5yigqQLeUSmJtocabkC1KwVTJdeU86HW48VdRdWVwLr1oCjTDLW5+Vg1EW3H/isOvKBETBKrkbxLR0LIH2TOEkpDYaindkkZC/TPVoPANGbQj3nI0dX4tYunkQh1uLm4w6YVABj1YGLyiUdHfl2d3cX/59uFFarmtWqc1ermdVqc1dbNautzlcNxqNSLeE/tVX6xwMWbJeVhyeMwcs5N0Fw9LEJGDB5cgIHwXV/GcDaqgGwlgBc/aUAsW8KJCNcUr9rGaA4RNV1HlmES2Ffj46j3rsKIo3zLo6xO9cuZQ4EEMfVdddNrQVzkrzpKlKFo965EquCaR0G4c3t1WhiVcmE9g5G915vPHYyWJNHSraKIb/NKv69K/+6Bls4SI1WgiIOkq6q8EiVfmX01tq/Hr0cKaNHEz0PxHqIVypYdGhso0A60Z8rPIvb88AEIMsHsXYcR0NbAnxrFfwzdUkjA3pnWpq6GwX4oNNN+ja0RSXfuxjxWPtmjZaxAwvAaH5Z1NxcmPpQrXQwSgPS8xAoWB0eFXCSWeIS0HfAtohemQXhRnSPRJJVyv6YmfQid0+WCgxApUIprc6OoaQ2GLhbMjsMhOP+7pCsZpCs/v6QrGWQrP3+kFzNIJkh3Sw8Rcyk4nk/XrB2J73lpOOxugnCRquba5d4+NRANNUKKkpUFG30vO3+hH/0UOPANoEvfLORXwS1C0eWWUPWUd2YBbEmIUK5IoirpM1jxwDk6kxomE7A0WVr3Lxd5BsN7UMeMLV3AF2FgTV9RajE4xgDPouUwWwJgaEJhL9qONL4Y43OiMCPKp2ASbagZ8QgkId1tz+NbsnWHGO2ILA7jXNyfDxNBRXLU3PScYleUL2/WC52KnJx56X74SW9dxGrsKm83Wgsy/G7eYcJnt9pko6l5LSfPtt6dNQE4RHdwZDU6aQ7b88mh8e3QBGQeQW2AEcdtg+/t7Yq5AcKh8tXoyn6/fFJ7psGj3i2BM8AQMn/+B//p0ofsTn8V/v6e5PRODkL0BmJKzoOQDlNEAQgNwzHGI8ejoYl0QtgyQ7QSU/haXhqtJyM+ThG/eKDsWemBq5gh4wSckTEp/DYOCUWwJOhmbQCeWakPI2fcGkEYeZymPgPOo8aDQqmU/MwmQOMaTShuGwMvDJmqoRhnRX3zU4XfFvmTQw65tQ82vkBlqHMHbmkNr/e6mjBMe6XUN4VXFSjaQwWMIclpmLXXTuFpZWqUsICpP04uHmSAfPLolEXq8tR7N8EiT/IQVqHObzxOPkn/ur3IvmEv67BtvYaMOq90fSqHyzzbIEperBzqiA36zq9JgOkSk3RC2GFxDl1+btGTJ4QrIsEGyWUgB+MzZrhUPz10/FJpJvO1m3OUZcGWw0CHqmFtZ2gQ0eigJCvg5gCIGrqHNYtbho5xBflaHH4Bmbr0QhRbXTOzaiJA6CGR7e7ojozZ9vqrER7HPZHN9NA9kBvFINArdZlK7ydKCkKc6nicWugkGGEPutUxW2BFbP7ytiujhrp49ll9K2zO4FOvmMj6diF5iElxZLbUx3zYR8evqnW0gcmvhxyDiX63aHfqRKHnPiJohiSn/si5eU398AovVMaDCZrk3Gi1fXc/TAM6aUQTA/P8ORviBkCSofo6jMmhqPdS+2Z2bJqViyb2v1K7Z2pTbD5Y+es+i+NqFNbaWksDCVj3qi8FIwXxurZkl/CaL00cM6u/fJwuhwczCC7efUbs346CjBlOj8Xq2eBMWLxTAfrr/mj4OC6WUaRvNwLUFnEQ7A6O+CrNpZOrqjyMvKY6fWbSvKJGXHXcWt9tZYPpZMPJb/wfpKKELR7g2cg08BDIKhM1jnRYSot4QyAXlO1LhtQOQh1F2QIBx3OzwfUaLWSbuRhtgZ4KXdMdhD2P50cJ4Og0bASDGJCHhzJ2qsTkZ3s4O9APRhVgvkpT2WXv+DW75fc48RY9OzzSbuxw6k4k7SWiwmY4v3sZCsbhN8Kk+0KtLdhzO6hlOvoqwc1f1wIrJMA6zAw/AfwNoB1ngfW3E/yXhKw/RTFpXYaOCcEAmzu50YhILWcCgucIiITtX3Kx8mQEMkcWKCKeH9tt4ryVBqLusbJsFB3kRl4HMLTzeuwlexzS+XDXDRWIC9Yo6eUBpPyh+bBoyNiGp4agUWrpQ2ZVzMBSruwd8sFfd/3PjcOdu14k9pGXudPRg9GhjjgMo+1Qt4AHWVsT89O9vBwBToMcqHqUVGTgMNPHpyFojP53j7HDEpsm/v5USpcRsd0WDWTKJXcQBzEpaHTyNIqWtQEnNdawzs4auwkrRkAVoRjrmbdUTc/lORQvEdOSkGbXw5ddkrlHSeFxcglO8RFnispx7m40D4U0ky4sJjRsfdFHSuubU/Ce8tSwJw1+/lhL6rYYnPfjHg5JUWOwwVTDNyeHXSVsGHj3Zl0bgqanGpUxRt6Y7+HppQMlLKAPRssxQ4049iW8oklcBdVxl62mXF94bJdrS2jX5B26AsBHzf2ThKqUxwhtYL1UI39cMKhtLO4oUT5fNc7/ScJ2Gjs9ZW5Mw6FDFGLC+On1xfAfAaSAxOSOKMBxfuk1dxhutgQi3Wy0Ue9JGqJ8KfQ0Y2c2B8vVKk8MBxKC/J0UZSaqqidESum6Ctd0c2tKeOuFJQVW69Iyg3tcu9zyhHSFIKwpTtArOEwt+QdRyGokiuy5GtTiQonZzfnW6ppktuYgpb5Va4IoCq+pyxsQE/RhXEkcdEGmokvm6O6RsHQAtJwmLFYsArhSF5RBEKtAmZ6WcC037KYlvPJtJ/LrHEOumqXFXN2VSZbio9pJJ6qSDh31gTTuQTtAZeLN8Sgbsy4Rq40lVU38VNjYLPUUP7v/5bf0/GNiIDnZxaZNYPu65PvKScq4HyN4oOZ//h1adnzOCcCmPhqZxq9qP5F7fIiEd6XSQ+N5P5Rnb0XazQ9dGWBcNZ0pn9X5hGFt9dk2z6u1oQjw32oAEdE6xTRg2vKMM272c/kh2Zr0lX74bo6/LiQRs2l/NGROwPJtiUMK9CM8wELVy7hP/LRS589vHTfYEbl+SS1/SB6QdSdhGMcRuGcnuxIm+A1achK1xypfM1brMIbC0HGYUYq87XU8RdFOve1jgvtowea8gkB41+U5YEq4hDWBG4Q4aYQem0rjx8r/AczfDE8a5vG8z1a1RSSUZwDuuH9WBIKcQ6Iwj+uvefjXc0FTPsR5wHp63CK2dtJuamdpa8RVgKFbWfRnQu2h3snnjyC6cmUyHnNSbfkW5AvM986evolufTo7CjthCdXCsniVgCxPLvCfFtZPsBwMZiYl3RUtsLRKWPwSMHAzXGMf0X1qiS6t9PhnSuzzaHWwRkVIzqUc7isLyyhb/6wp6BQPaswNs9J6lQmSSWuy+L7oxMRPYQ//cQnfhQQtOOv/OEdCqjrftiNOT2Nj4n6QkwYee9PQrprgdOJqs6GscqnqiDJI6oCw8cpiBYLIgxfLaMAQyTpYNHn884+MOLyG7uaVDvsHZHqzIqy0vI8lnm56qz+bFmOqRWrmY00INv0swG9tzEsPB1hzlsUDoAZXYddXyY4lBmYiiETXG0xmuqaQYJSNc/tTDp4lWP01zLgmBiTYwy9VAeLwWHYRxbcqG869iX4xYKpU+Ak7aNLRilRzqdDlZHPhP8I0tuEb47GB7bq9dRgnhLywuJU3AVPGDAnV0UWMGoaif1kA15MeQATxHkVRgrrmdGaS8JR4/HfuCeuMTCvL+RZRZVGB48n7ULiPm5JbzqjZIzSl1e8uvzf1UoXetrrHN/E59nhXXOZCQBU4LE/HKIOVpNeny3Q0dT9Okkgx5Un1YErZNUBpSQOJjcBnmzUt/Ewg+XLNhxp471frbkr1fVyxoqBWky76c0ADBz6TteHxYG7A3VtaebYQ2hU5m0rpCCt0It6Yolu5CJFeWQKQBmwEKsPggKmK/IcDm49VDMwqQqaQVtGrxMX5pLqQY6BlAalHQ5byvewpCx1M18b+vkYpQ67hfwoyLNsruSo2dbNlW3dJEsvZXQhZZ8CZb+BtoGLHJEq0DjUCkPDgg4i+R5GfCFHSakgzL4kdyH+qbwP+EyRdwoY6sJ+/wGzXiohTAcV+II1WBWuXgzHGinSgDWrwkPLiORdRAxQQt4Qt6OYjuKiiP8X9FmCyhSV38h3RQYcMVOmOUe6fBaNbFjkMl7SA+FmvBUJIBg/BHQhXQCXSWSUFNkwCZuVknIRlATe0eFcfLh0SNH17qLiZF13mKOrF3T7ZNRh0Xqdsv0mMYCGLElCHw2xQjRAZ0mAbeH4A3PDYjhrbkGzJBEizIrt4e6JsZ/oNS2dh7YTtXWLufm0KbtgRmbgGDGGmrRyJaOuZA/tXXRJzuI7zBmWRm4pYVcuSDHZlCXHKC7yLdwQZJ68hQ/NlE8JZ8flUVlerQqHMqRiJgDKYQA8KJLe+6El9/FmEgw/0wDU+fxeLbm8kKgicT6qInd8uWA5cSyTso/ODcRDpaM2sOOQ1QQSBrPKzNf6kKPuCcrKJEs9WxzEiwE1edGZhZayTe48G628YZKZ53GoSqA+pOKC8aj/Q4ADIyWf+uCWc913usws6alhzBDEBjjmPCn4eeMniZZtYirOJx4ZAHIRecSNpJ0rlreNq/XM+wJUESnkFzN7KXKZvP4qUTdhS0UuotQIMvcaKkJ4i3tiRL6ajMwLj8wL9dMBfHjJDsfrpSINF5KDH49rFFPZuJC262XRfbR0w4uOxUQ86KI4gqgECF85xxGZWnxo91zmLsYkfFMG/tnB00ac5cVqAubC3IDiTDXpsEzhpDrsahowQ0Fzox1njpndxyY6TVPd7FxuZMdMhpvK6EYnFW3qZrvdTHe7M7PbzeJuq37/6gBgralp4mNarJpRsbQSLJrMNX0UMGlgbCkH/lLKJlwSd4u2+e50zagcFgzakFI39m1JGxmqx4mq5vBLQ73EmyOjWJgg3VcdL2Jyxugwf6O3dxy02S1WlXDLIRwMTH1JV5JKU0aJy1fU5NLOKmqz05ze2apaVlNTZDvHNAKm1kTOTLeJ4QiHmAo797gNnseRLW5v4eFl+fC3LcP7XHSkRPOVi7tL6YZV95dtKoa4nT3GNOcFj7muicTpXdJ7Uoo+5RyX5LZT/klU86I0vGzeMa8fdc0TguryNEPmvdm6B/XECMaHZW9KIAr+N5xziXGmXUDGOtwgE0o7TZW1idt5xtIsv/7STDrwopUJEz9zVb5X9968bDmGs5djaC3HMH852lWwb6xXhekFmMs6Zh2qe6S8CbxXCANweWHM5ZJq6ZLvccT1FV7+NnS5Wjf1CiRMUyXS1fp9tYtBRDYa8gXYCVHWU2b1kogH8kfGlnt9yjS68PckzflM+l9k1uc3qDMVpxqMB4UnLZM03JZsxCq5jeZVlKsiHijPSNFqUCLOlzXmp4ksHOzZB2KTW0pHhnIX8SCn7OxViGdrAEjRedrCBUsrNCUa/17igzTU7AmqrMaYVWLfUCXTG7IvWGN38awltlFQK+KlCZXfm+dqs0vCCKbLLAuM0Ju9EimGz1wWVGUOWRFpddO5i+nQdBItiMd6uekCj/VvvsApVdZAJRfSemjWE4pL1pWrPh8MHvn007qhPFe+na/iYVHQDS2NEHcj8fjo5lrJui++AESiKfLhwOJCts9lSU3cc9tihlYtPnzQg4UqtPjOjNuog9r9XPPaZeNIOEghZmxYOm9Fjpafdjz9vFDgduA9LZnDkp29UR0P0qNDWAax812klP60slz9hhMELa9WpQcsB6p5qyK5COkqSIRDeUL5xke5O0AuR+tmyHywfMCfqCdxoq0kt1RnM/cnHo6IeDQIgwtcaWicEKTv7OsfiTjRJUc/slALLwl4vrkiiL+FuGjK6BPTe2IJCsNjo48/Z47xujmRUfytntistF+WjhJMRUQlJ+aHizJQHkM3KDwbxQnDwtRUGPiCtzqqcipWCkuxWVNKrqTuTbvoQ+vmHTSi6DS8JwhQug75iuNqjU6XYDuedH2U30g4yjH/O8jFK0Mu/h51005WdA3nEF1DW3QNi0WX7fLXm+yKqpDs6SJRYnFq0wApQm3C50oxvXu/lWwiLyFavFdMe9Bq63tRxgE8pzcDTNaCSUGwzhstCdrKsk4aPa8ANy+uiA2RGjz8pWrwvE6cX+vIUSL6Sjpz1BCXzB3/JTlK0qVzhakgfhuVu5lRuZu/B5W7+Q+V+++icr853yKVmznLK+t6dWZ4dPM2RxmN/WE0K1wpB5I6SaBOjCHV+RMi+d4IYFF4akkyVK1DFut1N8OKGYPjZIJwkLu6KhRnBhhMAIXAlgq5rmGJVF5miDxvjGw7RiByqdCaeNHNbbMNhGFlHuPA6HP1v0Cfqy/ss44UQ3n8HY8CKfmVjVmWxlWqnoNN25Fq+KpivCq2RJq2aTC0LJGrHEtE2iEvtEIMvjHfgppjmfwXoJi5zehk+nWoV3bUctPKzTPRL5rm30KtObbc/XWVpMwbXA980mxOpkMWHTKm72lZH6YKXl+vsZp/kU4TPe+rX33GaJrt51eWtGkU/4b2VZ7OBHVXTKsvW5D8MJ5MXBgxU1vUafAp80ddW0VQ7NbvXy/8PnyS0rCjSELyV3EyGsydBmDKltVXlXeqUPyQXoDCj0lPKT+DFA+Sn5dkJZcJgKDQ4wqc1/lC12xXKfgLOqhinN382nU9KRumzgZ98PsYwssdWMYOjDHIAuPS0Hm2kMeDf43q+qvU11+spcrjh+Q7A96Zlx8VmQHzWA8zpNIAPa6vedcfr9ev15yZUsPeGSrlGsolE4HZQmitBP/NLCGJpzTLPTgPhN5aaZZ0KZBkM1WFlw81LbbHau3jP8Y6Z6yzEnxO18SrC/G94zblsGt/326d4zVqqSj+hh1VNiPzo3BkVGTJTkXoGhF/pktTJ8tk73FRrdOCjI94OPa5sLsCmIljRqVPRB2GrlJr7x6dtClmuLH8I1/GiQlrr+g0+4TUGnI5Q8Vldc2EPuqIYcXotR7+KZYiBiVM40+RdbtbSUYJqztgmuwCIjNYQaKwHYqDHofD5Qc/tA7iI28HxSuKXs/pbN2sgflL5ZDWkyGS98fQeDjZQaAsszxkKtdb98m1brWRMPEuU7mfY8As688g88y26CI3uk9QZpfZ2qrqI6rq3XZVRLf+GM9FBzcUTMJDOBph0tsnQpWg0TBLb71BjQ6KQPRw3kz8vqd8/2i+lEQFRKBcgmmKm7OaLd5UbodtlO4Jv50Tm2oCNg+0kdHTVhpegrrRRurSlS8JKVo3FhJd6rnGyEA8NJlO1P1wSxlqPZXCl4y9oWMmGXZ0zhfdlyUjNQbqnE4mJ7MLwsHzGmdHh3st76R90Pge7wPfTCU9TOsRGREWeVE/CMbOx5yrZwoqSMbgpI6A4DElXjVyyS7p3LU0enTiSzMnp2FqpDSuxsJJGN9LibTxIiLVfH2O8i+k6mexTxH1S3ow33rYfqXlMPdAZZcQESPUy9DKZ3lEDfNEoNaOUjQ2zhaYyyp3wC0NOc+e5ILLmCr3DSKPExVg1oDc2YM4P21g8q7arMrPT2ABCNNl8ELUUwcKDs9Pz9C37dMlqCbcOljLSzX3fQ2Z4d37WuaipUQZoAtZ9eknqQPLfXJ2pNABRsRtOghStuic0uO5wWz+4sE0yTvt53p2tRTAlFnspfKFp73qYhg8xklehz9FRsPiGm8mCOgEGZgyfMFteSFPp9bXGFByahMcRU3z1bhSC4n9sE86V7RQ1NmUlDyDGmCHT/xwyA1U/+Nf/6fm9k1tnnPub/fZFb5lL/H5Fpyx7O2RnZfsCwFEmG9cib7NymNlvdLedlJnLF+CYPXXImhy27QdOx8ylV+GQsVi869tnbWP9w6OPp236+LLyd5ZWxydnx2fn71qK3nX2o2mcZLaIpVbrrNRUEGfAtwyT/1jDdTZ1uwL74pUVgyIk/FxeZe84O2pHGrEJ7jq6hJsTkGP9ihlr0dDjLlpFMMivLmlSzf5+sxyGmJbx3TIZY8hHUbaL52jWRqq/aey+MJnS2l3FKOWFrJJpTmATfL0Eb7BTiNVhfeBUCkgEOWhH0+Bsvp4LydqiN0Aj1I3s4gmyZ+QSQGjjoFvLXMTmIwAVPOlBMYyJf9BwYK2bzlzWIgjMjORmgVH1jfy62e3j4pyIvxOfMG/vauTdt1UasfcgCC5/jYKQ1ztDsj83is56t19OMt5avfj3urGfWicbattFMLgeN+K6o8mIx3R/+zO3JJw7gH5NUrNKnuvmQl9fA8fn8OANvMHuJlfLS46HeLVQpSVMBbjO3nbVMGNWQW+z4t72xN5cY9tXs5AMCd2SuEBdumE7shqXSDyiwKn/2Z4mXeTatFJNBvYtjO+ewVcqq+Fi7ycscAPmvN+pieUZfssn0dWYlj3l5D1ra4qkfqYecyxLjk2iRFYQXh3TQoe0ObywP+X0aRESiGop9079jYl7PsBU1vyhVjlGeYVp1k+9A6OWo0DfZ95PsvNq9lJ1ezkRr3YNVtHByrZt5FvW0HiK8HWZgGgBLd0+pnvQ7E7sWg0kOL5ORkvA7qQhuwDsEAudMb8ywurlcvsPZ10a8jgCasCDik4Mmvu5T+EjsEjcXBQq9v6Ty1rsBewAivmobH5gj9eQ87I1qvyABoh8p9T4sxs/AMvrAvdR3NVyzN2nEmr9puKqpd0ovp2nXgVGWe9QF3e8hXmL6OOzCuf5uIYCrAxs95J+5CTttkV39N2+zZd7fCdqFJ+tRlwDj2wSo32D3X7eJfM793i6BQFGj/P+8d2mPG8512vwDCVPHjM1wnMISrkIGfQHITziYqBfV59EM4hKkZdvy8TEyW2PIaoDEK68qO4KvROpn00HQdrsyvQ7itGUKrxWTLg6AsbihiyPBCscU6t86SBQuGiM/DQXs1c53kX5mE7Ocd8baslYzbpXrzIeNRdLIyucaCtTXHovoTbGgc80CSwLAIaqV/A2GzVnfnQdn56EU5PLrHALFv6guxnMpTX3LxozcKVqJjoP9bjvOtx7e+0Hmtzrsfa/0/rsfar1uPCzHCvlRXzas+qMobN+z0pN6C8AfEi2Ze/vADddHiZ1RVkejoq70X9sBukr7pAed/Z+IehlhAU+am94fynXH6pHfcmNtxznrr50wI8Z9f9aovuJdmuchYwZ73iNIjFrXwt/KKvEr2wF8iSSFa3pAUMubRNwlfyqKW2L19r52p/mdiIOGnvnLfadXGg7gCm64FthqK3bYzcg6+FyoxwEGOOc65hW1NXncFT7l1nnJ2W9Q6Mf5O3G78zNR6DAxK/y96/ar82qnoe7jHzDQ62GWi40fjsYhh5uMmcTGqGqTfpHvg+hsUxQamL5TEpoAwwsC6vp5g7eSu9vpE+syF10+9uVWVMKK6BSGDXmAkQPN4DuwliUcnsP6kb5vF+3CV90bFNqa97pbzJhu4lyPmumM8sKX3nfHKlWM7d8yuLOEKLK9VsWAMoI2qDMuz3ZXJ43HRWcyDwBj9x60cYVmnMjZvZa8QstBg0chve3C7j2Zph9yk1zSFCecD1FaFjGktfEUmU08q5Y/Zoq4AVapJDBwI5o5AVpmjZzXcgfF3I/srQuonQH3RrCas1wzhao9GYojfuA7kE5alVefsJH+eIYL2a+6/WvbsUgY5XhLJlQN4Fe2bXNvj9prxhsiOfl+yLNhZRFv2cITZW3GWK3GbnV6Zc1MITwbIIAgBxOEyL3q8LObq9QuR9FhGUzuwUMptwpSRyTO02bdbJ26iAuUP1nyvla6B/86+vz+l3ijNnNJLoef3OPvYUFeshEsv7GRYFFymyJ5IbwWE8cLV7sRspFRaldY70hTEBEgJCuS8/btDTEz898dNP/PQTPz3w08MzZnTKrVypWo5larLEbaUwSlWsrWYq/sQVH9xnsxEaoKRNApYIbyohSr+gPkaBkTWDmG3kcAoOCAMOAyIFeSbUxpB8lCHA4waj4SgeDcNuSdyOZD5Zul4rxZqkzoMBO6+gZ1g6B8D7WBa756ftHbHfPum0DzDcWWpxngCWM3kS4xGKiFdveyEOBmMUAGKTnLMl9vXyP/um3KBbiuX3pizQ3Od/v8j3XzrpGska/b7bOxyBIPm+teMdHu20uQbf0npwdHR8mq5qnOgS1fXtBWNI8B4nzAbiT0EeeaxpeJ5jXqQt799GSS6upxGoPhQj7d0Eg4F3F0yGQd8xEqLfhmMgZ74AbxFAY27hSdiNobFGySintxGlEDLKJReVzV0+SRZmt59TusXlsOeLs8yMri8D7aJgzhowhuk6Op114d4GxjKOb/GQ88LPdhyjdfP6zQQmSt/eK2ZcaKUvRLfvQ59xjfpxY2envSOvQ99CRdvrBmF/E2ixebjtuOkrYBPzGrfw+VLV3IrFdYaZOkBgzU5RnVEM1MoBA/LG2YjsVgmsuM7DaHJH7ZggFtPXWsOI/4XOzsy6Hnmfr0A272Xi+5GV4zK/OKWaZXNsK4Fh3qydE19A5nhSkfUCUn6yYPFmZWd9Db4ZLCB3GI2LnD20BjkCIdXW4kzMkMCah9ZI6PkobpIuBOEGhbwdLQGymMarqN3THzotb/eg8em0AM5ziB+dn5nXnVtEkToVIK+tRKVG+P3Qx8x3jrxDe4A6CDyjlFsmld7vo6cSQ5jdWSuzdXS8R/exO4p1o5Iv2Xm9jtZ6ZweGQvztb89uqudC4EsfGqene586aAFgo1DwFAyBanpQrkagjoKk9FqN1uf2joXVHwyYu42Dg2ajta+UIN4YaBGjO6NR5N88YptJP0uar4CCub1hVD6XfBJXhPo9u3opRQDzZpyAuh1TvbWoYDs153zD9gpfUqLu2RY5Fw3pa61n3mrNWS3wHBb/NAoZR5kiPE1Ax7W2ZUpK/L1pcnK3oJJuQNXULzYN7pc+7wKTvOxTij/peuCsAXiMzEGHBIbsxpFBxzxn3+NkAVGc0efNRPeQi1/9GBrDXTxJFlsopRnAduYqwsGT99jlW791J99r8s5cuE3bBsnIe/riwrzS3dH4Sc7m92f1OnJC7B1Q4Q+whGTLZElb47gTTNCUxSGOQIcPWK/E3Jx4I5fQ1ppab+q2LT2uaGEtii7mrjEDHOTKAp3cUCaMG1QXxTRdRa8nqGTpIGrud1Fta0xuIvJ7SVjoAWvY07IlGsZHrYapj/qFXYgO/wqjEL4wirTSjbSMj/YhQeyYVoi0X1oLJ7NexqVnVUwJeNvMT7iead7ygHg/SiS7V8vb8HSB5GG4e2UpfYEtleLT50bJzP5OCviUgReCnSZgN4wjkMmI0XFNWZDVceMUp4EIT4A2nGUN/cIo1E00VS7EIwyv04craYirdVaZMD1nQwDZhdd44Tg6ckAagjHYAwmJ/ETzDIOl2B5fXHWU1611dN5BBUSLrc0tg5Hl3nxKviZULZSjyQdmgdZnVZ6GRq70Ti6fvNMWN8QmEIWbqT/pAatwFPsoae6RcordEIu10c49yUct/CivT8Xy0tGKEEqStaQsfZ5MaTtvsuxDYzGRYYaWl+MowblEXgzwqeFc8Gj6+30nRU5mNeCXqbXnFnoEhvKsPkwDGPt34ZiXIp5qwzyQ6vD+v/07GuDw61P78FBc+3h1VN7xLaavWp3LacqyaKle7wVdIDEyQs0TXHLGlTxCcZRsd5ZSjm6cEQOOFqhqakoiIYV5oCp2S5Yxvbwa9Z42cfrQzkcbH+17tKWlYmLOq7bSjVlVszlX22/kUflzWXw+Oj2rK4/KQeO8A7zz5PU9KIoC9smpINgpAQRD07vAegh/O5CfdockCnv1+jW8QCVmE630Qn9EKeVMyDxnXQglfORkGV7somrC3IubnQ5Hkx4mu/AG/piCBNbXPDwcl0JzW7CnBI95hlE8eQI4iURS9fj69rvgycE31XWP/Ej6d8f4va8YjroHzlFA3EOxuUmRhH8z33bwLWa/g7f65T5RjewQ72d1p8B9pkPcXQCVx/h0g65D+dFRrSM7NOukPOef90Ch+9xu7TswiDvBfdgNPgVxQ8UP2ezrQwKIBp3L68KHlMdsMuoGUTSatLiYlVU2hcwmIWP1aLWyZspTOXZJERqO2Y6839591+2D4ExRGIz5GPRRwLpuSNhZfh4xh7cnF4r2QBT5QWbXynOHeBl/SC6MV3OL5ELPdW3g6ASPfjfeTKxRw7VVCOiFvopCOBmXRd505fjQZkN9gSPilzoaMm2/hr/h17kbfrm3YT4/AiO2aLiOp9eE8XDa74/jCeOkUFg03MWUxdAqFcrcR9KgIV68MJ5e9cMuL3B7+TuFTLf9GB+SewoPze6imuekEgSkNobIy407QiZ6eB0kb68r9FM74Zpdc2O6lMGdLbQOgwFYw47ZBm3ap1txC5OL5Btx2YYIH6e4m3mdbGUbL+pBPv45AKxYn/8+Y/pQihlIpdvdnQSB+T0l/6xZy6lpfbfzJ6RwYs3IfvmBgh2DfhBLuzT1WXA0wGiy9Xx1k03QNpS6T9YaDb4GTEk5qeyRmsRxOJt2C1YihJTKdaG1K7mcXYzrulDAL538ne7UjlIjrTOmt6uyAMySnEnXBtnKVjR0TjxFDz/SVK7QXt7mvjuAWIJJ0lSrpAAYtGjNOw2+BDLvHt6MTj67n/fSuvkXAc27z/fMqOY5BpKEotM42XWaU/IWBKImu1FbBtiMo0rx/uF04HUp+tqZSwAn8Of0jNfFIBw6tk5fst3GOtBzKZFEBpowmEw0vAI/fTqwF5BTsFm8qW3fHMN4PuwNZVor0aYCbdjSKTnVCwerjhxc6C895uyScgQZk4gNoHCVLRSdWCNJs22y7GfL2qJ3oWC/WC1izEypTOd2EuIQCTybAUMu3rXekWOui9tZyg+38MfwetgLrjlcouo122DV01guGNWIN8jogN/7Xn/e6i8MxchjBYlJm5IcZbAI4yfHNXkwjHjOfhP+1WEahf+b+NyE5yY8AWl96Yh90OSVBZjaEzkwYTcDGPKBD/xCZlZ0Yj+6Kz8N+smpBVv0bcrcq7WPH4F2xTdVPCS8Dr/W4SU/YWJW/Dur6Zc4sHIbXmkpvDGjIQRcqyLQb6vrH/Mb+raUz6+g5NrcDa0CuLXKn9dVj/D5TXqEgM2he2FDtbkbQpg8aLXK2scXNzT30NW+gUFbrXyLQL9ZXeeGqrWPhQ0dN07O9jAJbXunNKNHQJxneF+4ost+4PeCydXIn/RmkubHvxPFVFPdfuEaWHvRRKbH980mMk2a1T/X5p3IvDXwNUndH6JjLM3wrsNhz8noy0lCVQdq/SFbLYBaRrr0MF7ejgLg6b15tNOvC3+E+gAc08NlhBKKuCvACiz6crdLgYfn/XjiLwP9DfEinEEYRbiLLQtJ/aMqcXTLCACTPY79+LYu0DPQD8TAH2P2x7vpmDYopKOAj0KIOBhGIDaXOOyN906WaFeCJWKZHe6WeMRISJCqIYdWcs2q/IZ4o4bdxTBx+L+nc9zdhhFCggoYHT7Aq8968kI8zvA6HcKAjycjjLCm5Pg3wdBLOl0eP0EHlRbwSn8QnPYvkkVLo47JfGXAS2ao8P4g4guvjQpfUcYb2YbPE4kMrM3ubb1+xhi0NlIB+rnoXiBFXwoMuzVC+1oeHoqwXDYMQ5IF3rAid/mF42OdiE7+YTUwB1SyL5c0Mu05pyyiysFPg0NrSr1h7YR+dpKfGfe+6dQ3XPmWAz9nR0JvSFgjt/1Bm48e9U2b3C+GJLobJp5dwuf16TCxIogGcZUcdQ5+EGrbB6aoj9dGUOxFdxrFI2VuvDYyNrkZ1g19cHJIUqrC9suU3pv5iOxRaaR6L5kJBsM0yuhociruRk6B/aRANbdAx4zlSCAphZnKAImit0WTqxIBSSDKB14WdLLZpiWzDKZHotcXAOUyCcdwknAmMJKDbuz84aBMC5A2dQxFG15TqB4NECviPyM2X0vQy9EYZz9y3HKPDiDIYnfNXbYKTPeYhA/A4Fc5WbiWMyTH1kkbaTm2z7bTMAAaJlu2nrJttp1kCn5JVSSQ5yumsJRDYBSm81IwnPRvR/5rhKv7cb3enfb8ev0miFvTySQYxq3znQYbT47rWssf4L8RAzgMh+HA74vxE8p3YgJ0TG4iFRvxcOvHphpAh7peG5HjH5p7nZ1qFVWS84O2c3Z0AvpJ+/uzducU9C2v0zhsl4T21Q3KoAo47xIm8a4kPqRZhmnfj5/qdX9y47xrvHNLyZOmlPRbJIJ3LulO/w8nm4Cz')).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 655819.

⋯ 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